[svn:parrot] r46235 - in branches/codestring: . compilers/data_json compilers/imcc compilers/pct compilers/pge compilers/tge config/auto/sizes config/auto/zlib config/gen/makefiles docs docs/book/draft docs/book/pct docs/book/pir docs/dev docs/pdds editor examples/embed examples/languages/abc examples/languages/squaak examples/pge ext/nqp-rx ext/nqp-rx/src/stage0 include/parrot lib/Parrot lib/Parrot/Configure/Step lib/Parrot/Pmc2c 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/Math runtime/parrot/library/TAP src src/call src/dynpmc src/gc src/interp src/io src/packfile src/pmc src/runcore src/string src/string/charset src/string/encoding t/compilers/tge t/library t/native_pbc t/oo t/pmc t/src t/steps/init/hints tools/build tools/dev tools/docs tools/util
coke at svn.parrot.org
coke at svn.parrot.org
Mon May 3 14:39:38 UTC 2010
Author: coke
Date: Mon May 3 14:39:34 2010
New Revision: 46235
URL: https://trac.parrot.org/parrot/changeset/46235
Log:
merge changes from trunk
Added:
branches/codestring/runtime/parrot/library/Archive/Tar.pir
- copied unchanged from r46234, trunk/runtime/parrot/library/Archive/Tar.pir
branches/codestring/src/pmc/imageiostrings.pmc
- copied unchanged from r46234, trunk/src/pmc/imageiostrings.pmc
branches/codestring/src/pmc/threadinterpreter.pmc
- copied unchanged from r46234, trunk/src/pmc/threadinterpreter.pmc
branches/codestring/t/pmc/imageiostrings.t
- copied unchanged from r46234, trunk/t/pmc/imageiostrings.t
Replaced:
branches/codestring/src/pmc/parrotthread.pmc
- copied unchanged from r46234, trunk/src/pmc/parrotthread.pmc
Deleted:
branches/codestring/runtime/parrot/library/Archive/TAR.pir
branches/codestring/src/pmc/parrotrunningthread.pmc
branches/codestring/t/pmc/parrotrunningthread.t
branches/codestring/tools/docs/book-to-latex.pl
Modified:
branches/codestring/ (props changed)
branches/codestring/DEPRECATED.pod
branches/codestring/MANIFEST
branches/codestring/MANIFEST.SKIP
branches/codestring/PBC_COMPAT
branches/codestring/compilers/data_json/Rules.mak (props changed)
branches/codestring/compilers/imcc/Rules.in (props changed)
branches/codestring/compilers/imcc/pbc.c
branches/codestring/compilers/pct/Rules.mak (props changed)
branches/codestring/compilers/pge/Rules.mak (props changed)
branches/codestring/compilers/tge/Rules.mak (props changed)
branches/codestring/config/auto/sizes/intval_maxmin_c.in (props changed)
branches/codestring/config/auto/zlib/ (props changed)
branches/codestring/config/gen/makefiles/docs.in
branches/codestring/config/gen/makefiles/root.in
branches/codestring/docs/book/draft/README (props changed)
branches/codestring/docs/book/draft/appa_glossary.pod (props changed)
branches/codestring/docs/book/draft/appb_patch_submission.pod (props changed)
branches/codestring/docs/book/draft/appc_command_line_options.pod (props changed)
branches/codestring/docs/book/draft/appd_build_options.pod (props changed)
branches/codestring/docs/book/draft/appe_source_code.pod (props changed)
branches/codestring/docs/book/draft/ch01_introduction.pod (props changed)
branches/codestring/docs/book/draft/ch02_getting_started.pod (props changed)
branches/codestring/docs/book/draft/ch07_dynpmcs.pod (props changed)
branches/codestring/docs/book/draft/ch08_dynops.pod (props changed)
branches/codestring/docs/book/draft/ch10_opcode_reference.pod (props changed)
branches/codestring/docs/book/draft/ch11_directive_reference.pod (props changed)
branches/codestring/docs/book/draft/ch12_operator_reference.pod (props changed)
branches/codestring/docs/book/draft/chXX_hlls.pod (props changed)
branches/codestring/docs/book/draft/chXX_library.pod (props changed)
branches/codestring/docs/book/draft/chXX_testing_and_debugging.pod (props changed)
branches/codestring/docs/book/pct/ch01_introduction.pod (props changed)
branches/codestring/docs/book/pct/ch02_getting_started.pod (props changed)
branches/codestring/docs/book/pct/ch03_compiler_tools.pod (props changed)
branches/codestring/docs/book/pct/ch04_pge.pod (props changed)
branches/codestring/docs/book/pct/ch05_nqp.pod (props changed)
branches/codestring/docs/book/pir/ch04_variables.pod
branches/codestring/docs/dev/c_functions.pod (props changed)
branches/codestring/docs/embed.pod
branches/codestring/docs/pdds/pdd30_install.pod (props changed)
branches/codestring/editor/pir-mode.el
branches/codestring/examples/embed/cotorra.c (props changed)
branches/codestring/examples/languages/abc/ (props changed)
branches/codestring/examples/languages/squaak/ (props changed)
branches/codestring/examples/pge/demo.pir (props changed)
branches/codestring/ext/nqp-rx/Rules.mak (props changed)
branches/codestring/ext/nqp-rx/src/stage0/HLL-s0.pir
branches/codestring/ext/nqp-rx/src/stage0/NQP-s0.pir
branches/codestring/ext/nqp-rx/src/stage0/P6Regex-s0.pir
branches/codestring/ext/nqp-rx/src/stage0/Regex-s0.pir
branches/codestring/include/parrot/call.h (props changed)
branches/codestring/include/parrot/gc_api.h (props changed)
branches/codestring/include/parrot/interpreter.h
branches/codestring/include/parrot/packfile.h
branches/codestring/include/parrot/pmc_freeze.h
branches/codestring/include/parrot/runcore_api.h (props changed)
branches/codestring/include/parrot/runcore_profiling.h (props changed)
branches/codestring/include/parrot/runcore_trace.h (props changed)
branches/codestring/include/parrot/thr_windows.h
branches/codestring/include/parrot/thread.h
branches/codestring/lib/Parrot/Configure/Step/Test.pm (props changed)
branches/codestring/lib/Parrot/H2inc.pm (props changed)
branches/codestring/lib/Parrot/Pmc2c/Attribute.pm
branches/codestring/ports/cygwin/parrot-1.0.0-1.cygport (props changed)
branches/codestring/ports/debian/libparrot-dev.install.in (props changed)
branches/codestring/ports/debian/libparrot.install.in (props changed)
branches/codestring/ports/debian/parrot-doc.install.in (props changed)
branches/codestring/ports/debian/parrot.install.in (props changed)
branches/codestring/ports/fedora/2.3.0/ (props changed)
branches/codestring/ports/suse/2.2.0/ (props changed)
branches/codestring/runtime/parrot/languages/ (props changed)
branches/codestring/runtime/parrot/library/Math/Rand.pir (props changed)
branches/codestring/runtime/parrot/library/Rules.mak (props changed)
branches/codestring/runtime/parrot/library/TAP/Harness.pir
branches/codestring/runtime/parrot/library/distutils.pir
branches/codestring/runtime/parrot/library/osutils.pir
branches/codestring/src/call/args.c
branches/codestring/src/call/context.c
branches/codestring/src/call/ops.c (props changed)
branches/codestring/src/call/pcc.c (props changed)
branches/codestring/src/datatypes.c
branches/codestring/src/debug.c
branches/codestring/src/dynpmc/ (props changed)
branches/codestring/src/dynpmc/Rules.in
branches/codestring/src/dynpmc/gziphandle.pmc
branches/codestring/src/embed.c
branches/codestring/src/exceptions.c
branches/codestring/src/frame_builder.c
branches/codestring/src/gc/alloc_memory.c (props changed)
branches/codestring/src/gc/alloc_resources.c (contents, props changed)
branches/codestring/src/gc/api.c (props changed)
branches/codestring/src/gc/gc_ms.c
branches/codestring/src/gc/malloc.c (contents, props changed)
branches/codestring/src/gc/malloc_trace.c (contents, props changed)
branches/codestring/src/gc/mark_sweep.c (contents, props changed)
branches/codestring/src/gc/system.c (contents, props changed)
branches/codestring/src/hash.c
branches/codestring/src/hll.c
branches/codestring/src/interp/inter_cb.c (props changed)
branches/codestring/src/interp/inter_create.c (contents, props changed)
branches/codestring/src/interp/inter_misc.c (contents, props changed)
branches/codestring/src/io/buffer.c
branches/codestring/src/io/core.c
branches/codestring/src/io/socket_unix.c
branches/codestring/src/io/socket_win32.c
branches/codestring/src/io/utf8.c
branches/codestring/src/library.c
branches/codestring/src/longopt.c
branches/codestring/src/main.c
branches/codestring/src/misc.c
branches/codestring/src/multidispatch.c
branches/codestring/src/nci_test.c
branches/codestring/src/oo.c
branches/codestring/src/packdump.c
branches/codestring/src/packfile.c
branches/codestring/src/packfile/pf_items.c
branches/codestring/src/packout.c
branches/codestring/src/pbc_dump.c
branches/codestring/src/pbc_merge.c
branches/codestring/src/pmc/callcontext.pmc
branches/codestring/src/pmc/class.pmc
branches/codestring/src/pmc/complex.pmc
branches/codestring/src/pmc/default.pmc
branches/codestring/src/pmc/env.pmc
branches/codestring/src/pmc/eval.pmc
branches/codestring/src/pmc/exception.pmc
branches/codestring/src/pmc/exceptionhandler.pmc
branches/codestring/src/pmc/exporter.pmc
branches/codestring/src/pmc/fixedbooleanarray.pmc
branches/codestring/src/pmc/fixedintegerarray.pmc
branches/codestring/src/pmc/fixedpmcarray.pmc
branches/codestring/src/pmc/fixedstringarray.pmc
branches/codestring/src/pmc/float.pmc
branches/codestring/src/pmc/hashiterator.pmc
branches/codestring/src/pmc/imageio.pmc
branches/codestring/src/pmc/imageiosize.pmc
branches/codestring/src/pmc/integer.pmc
branches/codestring/src/pmc/namespace.pmc
branches/codestring/src/pmc/nci.pmc
branches/codestring/src/pmc/object.pmc
branches/codestring/src/pmc/oplib.pmc
branches/codestring/src/pmc/orderedhashiterator.pmc
branches/codestring/src/pmc/parrotinterpreter.pmc
branches/codestring/src/pmc/pmcproxy.pmc
branches/codestring/src/pmc/resizablepmcarray.pmc
branches/codestring/src/pmc/resizablestringarray.pmc
branches/codestring/src/pmc/role.pmc
branches/codestring/src/pmc/scalar.pmc
branches/codestring/src/pmc/scheduler.pmc
branches/codestring/src/pmc/string.pmc
branches/codestring/src/pmc/sub.pmc
branches/codestring/src/pmc/task.pmc
branches/codestring/src/pmc_freeze.c
branches/codestring/src/runcore/cores.c (contents, props changed)
branches/codestring/src/runcore/main.c (props changed)
branches/codestring/src/runcore/profiling.c (contents, props changed)
branches/codestring/src/runcore/trace.c (contents, props changed)
branches/codestring/src/scheduler.c
branches/codestring/src/spf_render.c
branches/codestring/src/spf_vtable.c
branches/codestring/src/string/api.c
branches/codestring/src/string/charset.c
branches/codestring/src/string/charset/ascii.c
branches/codestring/src/string/charset/iso-8859-1.c
branches/codestring/src/string/encoding.c
branches/codestring/src/string/encoding/fixed_8.c
branches/codestring/src/string/encoding/ucs2.c
branches/codestring/src/string/encoding/utf16.c
branches/codestring/src/string/encoding/utf8.c
branches/codestring/src/sub.c
branches/codestring/src/thread.c
branches/codestring/src/utils.c
branches/codestring/src/vtables.c
branches/codestring/t/compilers/tge/NoneGrammar.tg (props changed)
branches/codestring/t/library/archive_tar.t
branches/codestring/t/library/osutils.t
branches/codestring/t/native_pbc/annotations.pbc
branches/codestring/t/native_pbc/integer_1.pbc
branches/codestring/t/native_pbc/number_1.pbc
branches/codestring/t/native_pbc/string_1.pbc
branches/codestring/t/oo/root_new.t (props changed)
branches/codestring/t/pmc/namespace-old.t (props changed)
branches/codestring/t/pmc/parrotthread.t
branches/codestring/t/pmc/threads.t
branches/codestring/t/src/embed.t (contents, props changed)
branches/codestring/t/steps/init/hints/linux-01.t (props changed)
branches/codestring/tools/build/h2inc.pl (props changed)
branches/codestring/tools/dev/fetch_languages.pl (props changed)
branches/codestring/tools/dev/mk_gitignore.pl (props changed)
branches/codestring/tools/docs/filename_and_chapter.pl
branches/codestring/tools/util/perlcritic-cage.conf (props changed)
Modified: branches/codestring/DEPRECATED.pod
==============================================================================
--- branches/codestring/DEPRECATED.pod Mon May 3 13:16:49 2010 (r46234)
+++ branches/codestring/DEPRECATED.pod Mon May 3 14:39:34 2010 (r46235)
@@ -127,6 +127,13 @@
L<http://trac.parrot.org/parrot/ticket/1506>
+=item Method lower on String [eligible in 3.1]
+
+Use the downcase opcode or subclass with a method name consistent with your
+HLL.
+
+L<http://trac.parrot.org/parrot/ticket/1606>
+
=back
=head1 Opcodes
@@ -428,6 +435,18 @@
=back
+=head1 Experimental
+
+=over 4
+
+=item Threads and Parallelism
+
+L<https://trac.parrot.org/parrot/ticket/1601>
+
+All threads and parallelism constructs are experimental
+
+=back
+
=head1 Footnotes
=over 4
Modified: branches/codestring/MANIFEST
==============================================================================
--- branches/codestring/MANIFEST Mon May 3 13:16:49 2010 (r46234)
+++ branches/codestring/MANIFEST Mon May 3 14:39:34 2010 (r46235)
@@ -1,7 +1,7 @@
# ex: set ro:
# $Id$
#
-# generated by tools/dev/mk_manifest_and_skip.pl Thu Apr 29 20:55:15 2010 UT
+# generated by tools/dev/mk_manifest_and_skip.pl Mon May 3 05:14:11 2010 UT
#
# See below for documentation on the format of this file.
#
@@ -1124,7 +1124,7 @@
runtime/parrot/include/hllmacros.pir [library]
runtime/parrot/include/test_more.pir [library]
runtime/parrot/languages/parrot/parrot.pir [library]
-runtime/parrot/library/Archive/TAR.pir [library]
+runtime/parrot/library/Archive/Tar.pir [library]
runtime/parrot/library/CGI/QueryHash.pir [library]
runtime/parrot/library/Config/JSON.pir [library]
runtime/parrot/library/Configure/genfile.pir [library]
@@ -1352,6 +1352,7 @@
src/pmc/hashiteratorkey.pmc []
src/pmc/imageio.pmc []
src/pmc/imageiosize.pmc []
+src/pmc/imageiostrings.pmc []
src/pmc/integer.pmc []
src/pmc/iterator.pmc []
src/pmc/key.pmc []
@@ -1380,7 +1381,6 @@
src/pmc/packfilesegment.pmc []
src/pmc/parrotinterpreter.pmc []
src/pmc/parrotlibrary.pmc []
-src/pmc/parrotrunningthread.pmc []
src/pmc/parrotthread.pmc []
src/pmc/pmc.num []
src/pmc/pmcproxy.pmc []
@@ -1401,6 +1401,7 @@
src/pmc/stringiterator.pmc []
src/pmc/sub.pmc []
src/pmc/task.pmc []
+src/pmc/threadinterpreter.pmc []
src/pmc/timer.pmc []
src/pmc/undef.pmc []
src/pmc/unmanagedstruct.pmc []
@@ -1824,6 +1825,7 @@
t/pmc/hashiteratorkey.t [test]
t/pmc/imageio.t [test]
t/pmc/imageiosize.t [test]
+t/pmc/imageiostrings.t [test]
t/pmc/integer.t [test]
t/pmc/io.t [test]
t/pmc/io_iterator.t [test]
@@ -1863,7 +1865,6 @@
t/pmc/parrotio.t [test]
t/pmc/parrotlibrary.t [test]
t/pmc/parrotobject.t [test]
-t/pmc/parrotrunningthread.t [test]
t/pmc/parrotthread.t [test]
t/pmc/pmc.t [test]
t/pmc/pmcproxy.t [test]
@@ -2120,7 +2121,6 @@
tools/dev/vgp_darwin []
tools/dev/vms-patch []
tools/dev/vtablize.pl []
-tools/docs/book-to-latex.pl []
tools/docs/filename_and_chapter.pl []
tools/docs/mk_chm.pl []
tools/docs/ops_summary.pl []
Modified: branches/codestring/MANIFEST.SKIP
==============================================================================
--- branches/codestring/MANIFEST.SKIP Mon May 3 13:16:49 2010 (r46234)
+++ branches/codestring/MANIFEST.SKIP Mon May 3 14:39:34 2010 (r46235)
@@ -1,6 +1,6 @@
# ex: set ro:
# $Id$
-# generated by tools/dev/mk_manifest_and_skip.pl Thu Apr 29 08:12:30 2010 UT
+# generated by tools/dev/mk_manifest_and_skip.pl Sat May 1 17:14:25 2010 UT
#
# This file should contain a transcript of the svn:ignore properties
# of the directories in the Parrot subversion repository. (Needed for
@@ -725,6 +725,8 @@
^src/dynpmc/.*\.ilk/
^src/dynpmc/.*\.lib$
^src/dynpmc/.*\.lib/
+^src/dynpmc/.*\.mak$
+^src/dynpmc/.*\.mak/
^src/dynpmc/.*\.manifest$
^src/dynpmc/.*\.manifest/
^src/dynpmc/.*\.o$
Modified: branches/codestring/PBC_COMPAT
==============================================================================
--- branches/codestring/PBC_COMPAT Mon May 3 13:16:49 2010 (r46234)
+++ branches/codestring/PBC_COMPAT Mon May 3 14:39:34 2010 (r46235)
@@ -27,6 +27,8 @@
# please insert tab separated entries at the top of the list
+6.12 2010.05.02 plobsing store constant PMC strings as top level constant strings
+6.11 2010.04.29 tewk remove ParrotRunningThread
6.10 2010.04.29 NotFound packfiledebug.pmc
6.9 2010.04.27 bacek remove deprecated in-place string ops (bitwise, charset, case change)
6.8 2010.04.27 bacek remove deprecated in-place substr ops
Modified: branches/codestring/compilers/imcc/pbc.c
==============================================================================
--- branches/codestring/compilers/imcc/pbc.c Mon May 3 13:16:49 2010 (r46234)
+++ branches/codestring/compilers/imcc/pbc.c Mon May 3 14:39:34 2010 (r46235)
@@ -6,6 +6,7 @@
#include "imc.h"
#include "pbc.h"
#include "parrot/packfile.h"
+#include "parrot/pmc_freeze.h"
#include "pmc/pmc_sub.h"
#include "pmc/pmc_callcontext.h"
@@ -78,7 +79,7 @@
FUNC_MODIFIES(*r);
PARROT_WARN_UNUSED_RESULT
-static int add_const_str(PARROT_INTERP, ARGIN(const SymReg *r))
+static int add_const_str(PARROT_INTERP, ARGIN(STRING *s))
__attribute__nonnull__(1)
__attribute__nonnull__(2);
@@ -222,7 +223,7 @@
, PARROT_ASSERT_ARG(r))
#define ASSERT_ARGS_add_const_str __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(interp) \
- , PARROT_ASSERT_ARG(r))
+ , PARROT_ASSERT_ARG(s))
#define ASSERT_ARGS_add_const_table __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(interp))
#define ASSERT_ARGS_add_const_table_key __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
@@ -832,7 +833,7 @@
interp->code->base.data[addr] = op;
if (nam->color < 0)
- nam->color = add_const_str(interp, nam);
+ nam->color = add_const_str(interp, IMCC_string_from_reg(interp, nam));
interp->code->base.data[addr+2] = nam->color;
@@ -968,7 +969,7 @@
/*
-=item C<static int add_const_str(PARROT_INTERP, const SymReg *r)>
+=item C<static int add_const_str(PARROT_INTERP, STRING *s)>
Adds a constant string to constant_table.
@@ -978,23 +979,23 @@
PARROT_WARN_UNUSED_RESULT
static int
-add_const_str(PARROT_INTERP, ARGIN(const SymReg *r))
+add_const_str(PARROT_INTERP, ARGIN(STRING *s))
{
ASSERT_ARGS(add_const_str)
PackFile_ConstTable *table = interp->code->const_table;
- STRING * const s = IMCC_string_from_reg(interp, r);
int i;
for (i = 0; i < table->const_count; ++i) {
PackFile_Constant * const constant = table->constants[i];
if (constant->type == PFC_STRING) {
STRING * const sc = constant->u.string;
- if (Parrot_charset_number_of_str(interp, s)
+ if (Parrot_str_equal(interp, s, sc)
+ && Parrot_charset_number_of_str(interp, s)
== Parrot_charset_number_of_str(interp, sc)
&& Parrot_encoding_number_of_str(interp, s)
== Parrot_encoding_number_of_str(interp, sc)
- && Parrot_str_equal(interp, s, sc)) {
+ ) {
return i;
}
}
@@ -1082,10 +1083,9 @@
sig_pmc = Parrot_pmc_new(interp, enum_class_String);
VTABLE_set_string_native(interp, sig_pmc, type_name);
}
- else {
- sig_pmc = Parrot_pmc_new(interp, enum_class_Integer);
- VTABLE_set_integer_native(interp, sig_pmc, type_num);
- }
+ else
+ sig_pmc = Parrot_pmc_new_init_int(interp,
+ enum_class_Integer, type_num);
}
else {
PARROT_ASSERT(r->set == 'K');
@@ -1265,9 +1265,7 @@
PMC *sub_pmc;
Parrot_Sub_attributes *sub, *outer_sub;
- const int k = add_const_table(interp);
PackFile_ConstTable * const ct = interp->code->const_table;
- PackFile_Constant * const pfc = ct->constants[k];
IMC_Unit * const unit =
IMCC_INFO(interp)->globals->cs->subs->unit;
@@ -1278,8 +1276,6 @@
int i;
int ns_const = -1;
- IMCC_INFO(interp)->globals->cs->subs->pmc_const = k;
-
if (unit->_namespace) {
/* strip namespace off from front */
const char *real_name = strrchr(r->name, '@');
@@ -1329,7 +1325,7 @@
PMC_get_sub(interp, sub_pmc, sub);
Sub_comp_get_FLAGS(sub) |= (r->pcc_sub->pragma & SUB_COMP_FLAG_MASK);
- r->color = add_const_str(interp, r);
+ r->color = add_const_str(interp, IMCC_string_from_reg(interp, r));
sub->name = ct->constants[r->color]->u.string;
/* If the unit has no subid, set the subid to match the name. */
@@ -1343,7 +1339,7 @@
mem_sys_free(oldname);
/* create string constant for it. */
- unit->subid->color = add_const_str(interp, unit->subid);
+ unit->subid->color = add_const_str(interp, IMCC_string_from_reg(interp, unit->subid));
}
sub->subid = ct->constants[unit->subid->color]->u.string;
@@ -1445,29 +1441,49 @@
Parrot_store_sub_in_namespace(interp, sub_pmc);
- pfc->type = PFC_PMC;
- pfc->u.key = sub_pmc;
- unit->sub_pmc = sub_pmc;
-
if (sub->outer_sub)
PMC_get_sub(interp, sub->outer_sub, outer_sub);
- IMCC_debug(interp, DEBUG_PBC_CONST,
- "add_const_pmc_sub '%s' flags %x color %d (%Ss) "
- "lex_info %s :outer(%Ss)\n",
- r->name, r->pcc_sub->pragma, k,
- sub_pmc->vtable->whoami,
- sub->lex_info ? "yes" : "no",
- sub->outer_sub? outer_sub->name :
- Parrot_str_new(interp, "*none*", 0));
-
/*
- * create entry in our fixup (=symbol) table
- * the offset is the index in the constant table of this Sub
+ * store the sub's strings
+ * XXX these need to occur before the sub to support thawing properly
*/
- PackFile_FixupTable_new_entry(interp, r->name, enum_fixup_sub, k);
+ {
+ PMC *strings = Parrot_freeze_strings(interp, sub_pmc);
+ int n = VTABLE_elements(interp, strings);
+ for (i = 0; i < n; i++) {
+ int unused = add_const_str(interp, VTABLE_get_string_keyed_int(interp, strings, i));
+ }
+ }
- return k;
+ /* store the sub */
+ {
+ const int k = add_const_table(interp);
+ PackFile_Constant * const pfc = ct->constants[k];
+
+ pfc->type = PFC_PMC;
+ pfc->u.key = sub_pmc;
+ unit->sub_pmc = sub_pmc;
+
+ IMCC_INFO(interp)->globals->cs->subs->pmc_const = k;
+
+ IMCC_debug(interp, DEBUG_PBC_CONST,
+ "add_const_pmc_sub '%s' flags %x color %d (%Ss) "
+ "lex_info %s :outer(%Ss)\n",
+ r->name, r->pcc_sub->pragma, k,
+ sub_pmc->vtable->whoami,
+ sub->lex_info ? "yes" : "no",
+ sub->outer_sub? outer_sub->name :
+ Parrot_str_new(interp, "*none*", 0));
+
+ /*
+ * create entry in our fixup (=symbol) table
+ * the offset is the index in the constant table of this Sub
+ */
+ PackFile_FixupTable_new_entry(interp, r->name, enum_fixup_sub, k);
+
+ return k;
+ }
}
@@ -1875,7 +1891,7 @@
case 'S':
if (r->type & VT_CONSTP)
r = r->reg;
- r->color = add_const_str(interp, r);
+ r->color = add_const_str(interp, IMCC_string_from_reg(interp, r));
break;
case 'N':
r->color = add_const_num(interp, r->name);
Modified: branches/codestring/config/gen/makefiles/docs.in
==============================================================================
--- branches/codestring/config/gen/makefiles/docs.in Mon May 3 13:16:49 2010 (r46234)
+++ branches/codestring/config/gen/makefiles/docs.in Mon May 3 14:39:34 2010 (r46235)
@@ -11,9 +11,6 @@
PERLDOC_BIN = @perldoc@
VERSION = @VERSION@@DEVEL@
-# chapters in the generated PDF parrot book
-CHAPTERS = $(PERL) ../tools/docs/filename_and_chapter.pl --b_out
-
# long list of .pod files
POD = @TEMP_pod@
@@ -54,12 +51,11 @@
$(PERL) -I../lib ../tools/docs/write_docs.pl --silent --version=$(VERSION)
# The pdf target is to generate a parrot PDF document.
-# It will not work on Windows. It call a script which use a specific Unix
-# command. May be that will be changed.
-pdf: ../tools/docs/book-to-latex.pl ../tools/docs/filename_and_chapter.pl
+# It will not work on Windows. It use the Unix syntax to specify the
+# path of files. May be that will be changed.
+pdf: ../tools/docs/filename_and_chapter.pl
$(MKPATH) build/modified_pod
$(PERL) ../tools/docs/filename_and_chapter.pl
- $(PERL) ../tools/docs/book-to-latex.pl `$(CHAPTERS)` > build/parrot-book.tex
cd build && pdflatex parrot-book.tex && pdflatex parrot-book.tex
#pdf-release: build/parrot-book.pdf
Modified: branches/codestring/config/gen/makefiles/root.in
==============================================================================
--- branches/codestring/config/gen/makefiles/root.in Mon May 3 13:16:49 2010 (r46234)
+++ branches/codestring/config/gen/makefiles/root.in Mon May 3 14:39:34 2010 (r46235)
@@ -246,13 +246,14 @@
src/parrot_config.c \
src/null_config.c \
src/install_config.c \
- src/extend_vtable.c
+ src/extend_vtable.c \
+ src/extra_nci_thunks.c
GEN_MODULES = \
lib/Parrot/OpLib/core.pm
GEN_LIBRARY = \
- $(LIBRARY_DIR)/Archive/TAR.pbc \
+ $(LIBRARY_DIR)/Archive/Tar.pbc \
$(LIBRARY_DIR)/CGI/QueryHash.pbc \
$(LIBRARY_DIR)/Crow.pbc \
$(LIBRARY_DIR)/config.pbc \
@@ -1819,6 +1820,7 @@
$(RM_F) $(FLUID_FILES_1)
$(RM_F) $(FLUID_FILES_2)
$(RM_RF) lib/Parrot/OpLib
+ $(RM_RF) runtime/parrot/languages/data_json
$(RM_F) $(NQP_CLEANUPS) $(PGE_CLEANUPS) $(TGE_CLEANUPS)
$(RM_F) $(PIRC_CLEANUPS) $(PCT_CLEANUPS) $(DATA_JSON_CLEANUPS)
$(RM_F) $(DYNOPLIBS_CLEANUPS) $(DYNPMC_CLEANUPS)
Modified: branches/codestring/docs/book/pir/ch04_variables.pod
==============================================================================
--- branches/codestring/docs/book/pir/ch04_variables.pod Mon May 3 13:16:49 2010 (r46234)
+++ branches/codestring/docs/book/pir/ch04_variables.pod Mon May 3 14:39:34 2010 (r46235)
@@ -972,9 +972,9 @@
X<UTF-16 encoding>
Parrot supports the character sets C<ascii>, C<binary>, C<iso-8859-1>
(Latin 1), and C<unicode> and the encodings C<fixed_8>, C<ucs2>,
-C<utf8>, and C<utf18>.
+C<utf8>, and C<utf16>.
-The C<binary:> charset treats the string as a buffer of raw unformatted
+The C<binary> charset treats the string as a buffer of raw unformatted
binary data. It isn't really a string per se, because binary data
contains no readable characters. This exists to support libraries which
manipulate binary data that doesn't easily fit into any other primitive
Modified: branches/codestring/docs/embed.pod
==============================================================================
--- branches/codestring/docs/embed.pod Mon May 3 13:16:49 2010 (r46234)
+++ branches/codestring/docs/embed.pod Mon May 3 14:39:34 2010 (r46235)
@@ -121,12 +121,6 @@
=item PARROT_THR_THREAD_POOL
-=item PARROT_THR_TYPE_1
-
-=item PARROT_THR_TYPE_2
-
-=item PARROT_THR_TYPE_3
-
=back
See F<interpreter.h> for the definition of these flags (TODO: document flag
Modified: branches/codestring/editor/pir-mode.el
==============================================================================
--- branches/codestring/editor/pir-mode.el Mon May 3 13:16:49 2010 (r46234)
+++ branches/codestring/editor/pir-mode.el Mon May 3 14:39:34 2010 (r46235)
@@ -153,7 +153,7 @@
"ManagedStruct" "MultiSub" "NCI" "NameSpace" "Null"
"OS" "Object" "OrderedHash" "PMCProxy" "ParrotClass"
"ParrotIO" "ParrotInterpreter" "ParrotLibrary" "ParrotObject"
- "ParrotRunningThread" "ParrotThread" "Pointer"
+ "ParrotThread" "Pointer"
"ResizableBooleanArray" "ResizableFloatArray" "ResizableIntegerArray"
"ResizablePMCArray" "ResizableStringArray" "RetContinuation"
"Role" "Scalar" "String" "Sub" "Super"
Modified: branches/codestring/ext/nqp-rx/src/stage0/HLL-s0.pir
==============================================================================
--- branches/codestring/ext/nqp-rx/src/stage0/HLL-s0.pir Mon May 3 13:16:49 2010 (r46234)
+++ branches/codestring/ext/nqp-rx/src/stage0/HLL-s0.pir Mon May 3 14:39:34 2010 (r46235)
@@ -854,7 +854,7 @@
### .include 'gen/hllgrammar-grammar.pir'
.namespace []
-.sub "_block11" :anon :subid("10_1272455242.78413")
+.sub "_block11" :anon :subid("10_1272816829.8573")
.annotate "line", 0
get_hll_global $P14, ["HLL";"Grammar"], "_block13"
capture_lex $P14
@@ -868,9 +868,9 @@
.namespace []
-.sub "" :load :init :subid("post103") :outer("10_1272455242.78413")
+.sub "" :load :init :subid("post103") :outer("10_1272816829.8573")
.annotate "line", 0
- .const 'Sub' $P12 = "10_1272455242.78413"
+ .const 'Sub' $P12 = "10_1272816829.8573"
.local pmc block
set block, $P12
$P340 = get_root_global ["parrot"], "P6metaclass"
@@ -879,84 +879,84 @@
.namespace ["HLL";"Grammar"]
-.sub "_block13" :subid("11_1272455242.78413") :outer("10_1272455242.78413")
+.sub "_block13" :subid("11_1272816829.8573") :outer("10_1272816829.8573")
.annotate "line", 5
- .const 'Sub' $P329 = "101_1272455242.78413"
+ .const 'Sub' $P329 = "101_1272816829.8573"
capture_lex $P329
- .const 'Sub' $P322 = "99_1272455242.78413"
+ .const 'Sub' $P322 = "99_1272816829.8573"
capture_lex $P322
- .const 'Sub' $P309 = "96_1272455242.78413"
+ .const 'Sub' $P309 = "96_1272816829.8573"
capture_lex $P309
- .const 'Sub' $P277 = "91_1272455242.78413"
+ .const 'Sub' $P277 = "91_1272816829.8573"
capture_lex $P277
- .const 'Sub' $P271 = "89_1272455242.78413"
+ .const 'Sub' $P271 = "89_1272816829.8573"
capture_lex $P271
- .const 'Sub' $P266 = "87_1272455242.78413"
+ .const 'Sub' $P266 = "87_1272816829.8573"
capture_lex $P266
- .const 'Sub' $P260 = "85_1272455242.78413"
+ .const 'Sub' $P260 = "85_1272816829.8573"
capture_lex $P260
- .const 'Sub' $P254 = "83_1272455242.78413"
+ .const 'Sub' $P254 = "83_1272816829.8573"
capture_lex $P254
- .const 'Sub' $P249 = "81_1272455242.78413"
+ .const 'Sub' $P249 = "81_1272816829.8573"
capture_lex $P249
- .const 'Sub' $P244 = "79_1272455242.78413"
+ .const 'Sub' $P244 = "79_1272816829.8573"
capture_lex $P244
- .const 'Sub' $P239 = "77_1272455242.78413"
+ .const 'Sub' $P239 = "77_1272816829.8573"
capture_lex $P239
- .const 'Sub' $P234 = "75_1272455242.78413"
+ .const 'Sub' $P234 = "75_1272816829.8573"
capture_lex $P234
- .const 'Sub' $P229 = "73_1272455242.78413"
+ .const 'Sub' $P229 = "73_1272816829.8573"
capture_lex $P229
- .const 'Sub' $P224 = "71_1272455242.78413"
+ .const 'Sub' $P224 = "71_1272816829.8573"
capture_lex $P224
- .const 'Sub' $P219 = "69_1272455242.78413"
+ .const 'Sub' $P219 = "69_1272816829.8573"
capture_lex $P219
- .const 'Sub' $P208 = "65_1272455242.78413"
+ .const 'Sub' $P208 = "65_1272816829.8573"
capture_lex $P208
- .const 'Sub' $P195 = "63_1272455242.78413"
+ .const 'Sub' $P195 = "63_1272816829.8573"
capture_lex $P195
- .const 'Sub' $P183 = "61_1272455242.78413"
+ .const 'Sub' $P183 = "61_1272816829.8573"
capture_lex $P183
- .const 'Sub' $P176 = "59_1272455242.78413"
+ .const 'Sub' $P176 = "59_1272816829.8573"
capture_lex $P176
- .const 'Sub' $P167 = "57_1272455242.78413"
+ .const 'Sub' $P167 = "57_1272816829.8573"
capture_lex $P167
- .const 'Sub' $P160 = "55_1272455242.78413"
+ .const 'Sub' $P160 = "55_1272816829.8573"
capture_lex $P160
- .const 'Sub' $P151 = "53_1272455242.78413"
+ .const 'Sub' $P151 = "53_1272816829.8573"
capture_lex $P151
- .const 'Sub' $P144 = "51_1272455242.78413"
+ .const 'Sub' $P144 = "51_1272816829.8573"
capture_lex $P144
- .const 'Sub' $P135 = "49_1272455242.78413"
+ .const 'Sub' $P135 = "49_1272816829.8573"
capture_lex $P135
- .const 'Sub' $P128 = "47_1272455242.78413"
+ .const 'Sub' $P128 = "47_1272816829.8573"
capture_lex $P128
- .const 'Sub' $P121 = "45_1272455242.78413"
+ .const 'Sub' $P121 = "45_1272816829.8573"
capture_lex $P121
- .const 'Sub' $P111 = "43_1272455242.78413"
+ .const 'Sub' $P111 = "43_1272816829.8573"
capture_lex $P111
- .const 'Sub' $P103 = "41_1272455242.78413"
+ .const 'Sub' $P103 = "41_1272816829.8573"
capture_lex $P103
- .const 'Sub' $P93 = "40_1272455242.78413"
+ .const 'Sub' $P93 = "40_1272816829.8573"
capture_lex $P93
- .const 'Sub' $P87 = "38_1272455242.78413"
+ .const 'Sub' $P87 = "38_1272816829.8573"
capture_lex $P87
- .const 'Sub' $P82 = "36_1272455242.78413"
+ .const 'Sub' $P82 = "36_1272816829.8573"
capture_lex $P82
- .const 'Sub' $P74 = "34_1272455242.78413"
+ .const 'Sub' $P74 = "34_1272816829.8573"
capture_lex $P74
- .const 'Sub' $P68 = "32_1272455242.78413"
+ .const 'Sub' $P68 = "32_1272816829.8573"
capture_lex $P68
- .const 'Sub' $P62 = "30_1272455242.78413"
+ .const 'Sub' $P62 = "30_1272816829.8573"
capture_lex $P62
- .const 'Sub' $P56 = "28_1272455242.78413"
+ .const 'Sub' $P56 = "28_1272816829.8573"
capture_lex $P56
- .const 'Sub' $P23 = "14_1272455242.78413"
+ .const 'Sub' $P23 = "14_1272816829.8573"
capture_lex $P23
- .const 'Sub' $P15 = "12_1272455242.78413"
+ .const 'Sub' $P15 = "12_1272816829.8573"
capture_lex $P15
.annotate "line", 33
- .const 'Sub' $P329 = "101_1272455242.78413"
+ .const 'Sub' $P329 = "101_1272816829.8573"
capture_lex $P329
.annotate "line", 5
.return ($P329)
@@ -964,7 +964,7 @@
.namespace ["HLL";"Grammar"]
-.sub "ws" :subid("12_1272455242.78413") :method :outer("11_1272455242.78413")
+.sub "ws" :subid("12_1272816829.8573") :method :outer("11_1272816829.8573")
.annotate "line", 5
.local string rx16_tgt
.local int rx16_pos
@@ -1048,7 +1048,7 @@
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__ws" :subid("13_1272455242.78413") :method
+.sub "!PREFIX__ws" :subid("13_1272816829.8573") :method
.annotate "line", 5
new $P18, "ResizablePMCArray"
push $P18, ""
@@ -1057,7 +1057,7 @@
.namespace ["HLL";"Grammar"]
-.sub "termish" :subid("14_1272455242.78413") :method :outer("11_1272455242.78413")
+.sub "termish" :subid("14_1272816829.8573") :method :outer("11_1272816829.8573")
.annotate "line", 5
.local string rx24_tgt
.local int rx24_pos
@@ -1067,7 +1067,7 @@
.local pmc rx24_cur
(rx24_cur, rx24_pos, rx24_tgt) = self."!cursor_start"()
rx24_cur."!cursor_debug"("START ", "termish")
- rx24_cur."!cursor_caparray"("prefixish", "postfixish")
+ rx24_cur."!cursor_caparray"("postfixish", "prefixish")
.lex unicode:"$\x{a2}", rx24_cur
.local pmc match
.lex "$/", match
@@ -1149,7 +1149,7 @@
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__termish" :subid("15_1272455242.78413") :method
+.sub "!PREFIX__termish" :subid("15_1272816829.8573") :method
.annotate "line", 5
new $P26, "ResizablePMCArray"
push $P26, ""
@@ -1158,7 +1158,7 @@
.namespace ["HLL";"Grammar"]
-.sub "term" :subid("16_1272455242.78413") :method
+.sub "term" :subid("16_1272816829.8573") :method
.annotate "line", 13
$P33 = self."!protoregex"("term")
.return ($P33)
@@ -1166,7 +1166,7 @@
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__term" :subid("17_1272455242.78413") :method
+.sub "!PREFIX__term" :subid("17_1272816829.8573") :method
.annotate "line", 13
$P35 = self."!PREFIX__!protoregex"("term")
.return ($P35)
@@ -1174,7 +1174,7 @@
.namespace ["HLL";"Grammar"]
-.sub "infix" :subid("18_1272455242.78413") :method
+.sub "infix" :subid("18_1272816829.8573") :method
.annotate "line", 14
$P37 = self."!protoregex"("infix")
.return ($P37)
@@ -1182,7 +1182,7 @@
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__infix" :subid("19_1272455242.78413") :method
+.sub "!PREFIX__infix" :subid("19_1272816829.8573") :method
.annotate "line", 14
$P39 = self."!PREFIX__!protoregex"("infix")
.return ($P39)
@@ -1190,7 +1190,7 @@
.namespace ["HLL";"Grammar"]
-.sub "prefix" :subid("20_1272455242.78413") :method
+.sub "prefix" :subid("20_1272816829.8573") :method
.annotate "line", 15
$P41 = self."!protoregex"("prefix")
.return ($P41)
@@ -1198,7 +1198,7 @@
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__prefix" :subid("21_1272455242.78413") :method
+.sub "!PREFIX__prefix" :subid("21_1272816829.8573") :method
.annotate "line", 15
$P43 = self."!PREFIX__!protoregex"("prefix")
.return ($P43)
@@ -1206,7 +1206,7 @@
.namespace ["HLL";"Grammar"]
-.sub "postfix" :subid("22_1272455242.78413") :method
+.sub "postfix" :subid("22_1272816829.8573") :method
.annotate "line", 16
$P45 = self."!protoregex"("postfix")
.return ($P45)
@@ -1214,7 +1214,7 @@
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__postfix" :subid("23_1272455242.78413") :method
+.sub "!PREFIX__postfix" :subid("23_1272816829.8573") :method
.annotate "line", 16
$P47 = self."!PREFIX__!protoregex"("postfix")
.return ($P47)
@@ -1222,7 +1222,7 @@
.namespace ["HLL";"Grammar"]
-.sub "circumfix" :subid("24_1272455242.78413") :method
+.sub "circumfix" :subid("24_1272816829.8573") :method
.annotate "line", 17
$P49 = self."!protoregex"("circumfix")
.return ($P49)
@@ -1230,7 +1230,7 @@
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__circumfix" :subid("25_1272455242.78413") :method
+.sub "!PREFIX__circumfix" :subid("25_1272816829.8573") :method
.annotate "line", 17
$P51 = self."!PREFIX__!protoregex"("circumfix")
.return ($P51)
@@ -1238,7 +1238,7 @@
.namespace ["HLL";"Grammar"]
-.sub "postcircumfix" :subid("26_1272455242.78413") :method
+.sub "postcircumfix" :subid("26_1272816829.8573") :method
.annotate "line", 18
$P53 = self."!protoregex"("postcircumfix")
.return ($P53)
@@ -1246,7 +1246,7 @@
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__postcircumfix" :subid("27_1272455242.78413") :method
+.sub "!PREFIX__postcircumfix" :subid("27_1272816829.8573") :method
.annotate "line", 18
$P55 = self."!PREFIX__!protoregex"("postcircumfix")
.return ($P55)
@@ -1254,7 +1254,7 @@
.namespace ["HLL";"Grammar"]
-.sub "term:sym<circumfix>" :subid("28_1272455242.78413") :method :outer("11_1272455242.78413")
+.sub "term:sym<circumfix>" :subid("28_1272816829.8573") :method :outer("11_1272816829.8573")
.annotate "line", 5
.local string rx57_tgt
.local int rx57_pos
@@ -1312,7 +1312,7 @@
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__term:sym<circumfix>" :subid("29_1272455242.78413") :method
+.sub "!PREFIX__term:sym<circumfix>" :subid("29_1272816829.8573") :method
.annotate "line", 5
$P59 = self."!PREFIX__!subrule"("circumfix", "")
new $P60, "ResizablePMCArray"
@@ -1322,7 +1322,7 @@
.namespace ["HLL";"Grammar"]
-.sub "infixish" :subid("30_1272455242.78413") :method :outer("11_1272455242.78413")
+.sub "infixish" :subid("30_1272816829.8573") :method :outer("11_1272816829.8573")
.annotate "line", 5
.local string rx63_tgt
.local int rx63_pos
@@ -1380,7 +1380,7 @@
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__infixish" :subid("31_1272455242.78413") :method
+.sub "!PREFIX__infixish" :subid("31_1272816829.8573") :method
.annotate "line", 5
$P65 = self."!PREFIX__!subrule"("OPER=infix", "")
new $P66, "ResizablePMCArray"
@@ -1390,7 +1390,7 @@
.namespace ["HLL";"Grammar"]
-.sub "prefixish" :subid("32_1272455242.78413") :method :outer("11_1272455242.78413")
+.sub "prefixish" :subid("32_1272816829.8573") :method :outer("11_1272816829.8573")
.annotate "line", 5
.local string rx69_tgt
.local int rx69_pos
@@ -1453,7 +1453,7 @@
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__prefixish" :subid("33_1272455242.78413") :method
+.sub "!PREFIX__prefixish" :subid("33_1272816829.8573") :method
.annotate "line", 5
$P71 = self."!PREFIX__!subrule"("OPER=prefix", "")
new $P72, "ResizablePMCArray"
@@ -1463,7 +1463,7 @@
.namespace ["HLL";"Grammar"]
-.sub "postfixish" :subid("34_1272455242.78413") :method :outer("11_1272455242.78413")
+.sub "postfixish" :subid("34_1272816829.8573") :method :outer("11_1272816829.8573")
.annotate "line", 5
.local string rx75_tgt
.local int rx75_pos
@@ -1537,7 +1537,7 @@
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__postfixish" :subid("35_1272455242.78413") :method
+.sub "!PREFIX__postfixish" :subid("35_1272816829.8573") :method
.annotate "line", 5
$P77 = self."!PREFIX__!subrule"("OPER=postcircumfix", "")
$P78 = self."!PREFIX__!subrule"("OPER=postfix", "")
@@ -1549,7 +1549,7 @@
.namespace ["HLL";"Grammar"]
-.sub "nullterm" :subid("36_1272455242.78413") :method :outer("11_1272455242.78413")
+.sub "nullterm" :subid("36_1272816829.8573") :method :outer("11_1272816829.8573")
.annotate "line", 5
.local string rx83_tgt
.local int rx83_pos
@@ -1600,7 +1600,7 @@
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__nullterm" :subid("37_1272455242.78413") :method
+.sub "!PREFIX__nullterm" :subid("37_1272816829.8573") :method
.annotate "line", 5
new $P85, "ResizablePMCArray"
push $P85, ""
@@ -1609,7 +1609,7 @@
.namespace ["HLL";"Grammar"]
-.sub "nullterm_alt" :subid("38_1272455242.78413") :method :outer("11_1272455242.78413")
+.sub "nullterm_alt" :subid("38_1272816829.8573") :method :outer("11_1272816829.8573")
.annotate "line", 5
.local string rx88_tgt
.local int rx88_pos
@@ -1667,7 +1667,7 @@
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__nullterm_alt" :subid("39_1272455242.78413") :method
+.sub "!PREFIX__nullterm_alt" :subid("39_1272816829.8573") :method
.annotate "line", 5
$P90 = self."!PREFIX__!subrule"("term", "")
new $P91, "ResizablePMCArray"
@@ -1677,7 +1677,7 @@
.namespace ["HLL";"Grammar"]
-.sub "nulltermish" :subid("40_1272455242.78413") :method :outer("11_1272455242.78413")
+.sub "nulltermish" :subid("40_1272816829.8573") :method :outer("11_1272816829.8573")
.annotate "line", 33
new $P95, 'ExceptionHandler'
set_addr $P95, control_94
@@ -1704,7 +1704,7 @@
.namespace ["HLL";"Grammar"]
-.sub "quote_delimited" :subid("41_1272455242.78413") :method :outer("11_1272455242.78413")
+.sub "quote_delimited" :subid("41_1272816829.8573") :method :outer("11_1272816829.8573")
.annotate "line", 33
.local string rx104_tgt
.local int rx104_pos
@@ -1786,7 +1786,7 @@
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_delimited" :subid("42_1272455242.78413") :method
+.sub "!PREFIX__quote_delimited" :subid("42_1272816829.8573") :method
.annotate "line", 33
$P106 = self."!PREFIX__!subrule"("starter", "")
new $P107, "ResizablePMCArray"
@@ -1796,7 +1796,7 @@
.namespace ["HLL";"Grammar"]
-.sub "quote_atom" :subid("43_1272455242.78413") :method :outer("11_1272455242.78413")
+.sub "quote_atom" :subid("43_1272816829.8573") :method :outer("11_1272816829.8573")
.annotate "line", 33
.local string rx112_tgt
.local int rx112_pos
@@ -1887,7 +1887,7 @@
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_atom" :subid("44_1272455242.78413") :method
+.sub "!PREFIX__quote_atom" :subid("44_1272816829.8573") :method
.annotate "line", 33
new $P114, "ResizablePMCArray"
push $P114, ""
@@ -1896,7 +1896,7 @@
.namespace ["HLL";"Grammar"]
-.sub "decint" :subid("45_1272455242.78413") :method :outer("11_1272455242.78413")
+.sub "decint" :subid("45_1272816829.8573") :method :outer("11_1272816829.8573")
.annotate "line", 33
.local string rx122_tgt
.local int rx122_pos
@@ -1968,7 +1968,7 @@
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__decint" :subid("46_1272455242.78413") :method
+.sub "!PREFIX__decint" :subid("46_1272816829.8573") :method
.annotate "line", 33
new $P124, "ResizablePMCArray"
push $P124, ""
@@ -1977,7 +1977,7 @@
.namespace ["HLL";"Grammar"]
-.sub "decints" :subid("47_1272455242.78413") :method :outer("11_1272455242.78413")
+.sub "decints" :subid("47_1272816829.8573") :method :outer("11_1272816829.8573")
.annotate "line", 33
.local string rx129_tgt
.local int rx129_pos
@@ -2061,7 +2061,7 @@
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__decints" :subid("48_1272455242.78413") :method
+.sub "!PREFIX__decints" :subid("48_1272816829.8573") :method
.annotate "line", 33
new $P131, "ResizablePMCArray"
push $P131, ""
@@ -2070,7 +2070,7 @@
.namespace ["HLL";"Grammar"]
-.sub "hexint" :subid("49_1272455242.78413") :method :outer("11_1272455242.78413")
+.sub "hexint" :subid("49_1272816829.8573") :method :outer("11_1272816829.8573")
.annotate "line", 33
.local string rx136_tgt
.local int rx136_pos
@@ -2151,7 +2151,7 @@
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__hexint" :subid("50_1272455242.78413") :method
+.sub "!PREFIX__hexint" :subid("50_1272816829.8573") :method
.annotate "line", 33
new $P138, "ResizablePMCArray"
push $P138, ""
@@ -2160,7 +2160,7 @@
.namespace ["HLL";"Grammar"]
-.sub "hexints" :subid("51_1272455242.78413") :method :outer("11_1272455242.78413")
+.sub "hexints" :subid("51_1272816829.8573") :method :outer("11_1272816829.8573")
.annotate "line", 33
.local string rx145_tgt
.local int rx145_pos
@@ -2244,7 +2244,7 @@
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__hexints" :subid("52_1272455242.78413") :method
+.sub "!PREFIX__hexints" :subid("52_1272816829.8573") :method
.annotate "line", 33
new $P147, "ResizablePMCArray"
push $P147, ""
@@ -2253,7 +2253,7 @@
.namespace ["HLL";"Grammar"]
-.sub "octint" :subid("53_1272455242.78413") :method :outer("11_1272455242.78413")
+.sub "octint" :subid("53_1272816829.8573") :method :outer("11_1272816829.8573")
.annotate "line", 33
.local string rx152_tgt
.local int rx152_pos
@@ -2334,7 +2334,7 @@
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__octint" :subid("54_1272455242.78413") :method
+.sub "!PREFIX__octint" :subid("54_1272816829.8573") :method
.annotate "line", 33
new $P154, "ResizablePMCArray"
push $P154, ""
@@ -2343,7 +2343,7 @@
.namespace ["HLL";"Grammar"]
-.sub "octints" :subid("55_1272455242.78413") :method :outer("11_1272455242.78413")
+.sub "octints" :subid("55_1272816829.8573") :method :outer("11_1272816829.8573")
.annotate "line", 33
.local string rx161_tgt
.local int rx161_pos
@@ -2427,7 +2427,7 @@
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__octints" :subid("56_1272455242.78413") :method
+.sub "!PREFIX__octints" :subid("56_1272816829.8573") :method
.annotate "line", 33
new $P163, "ResizablePMCArray"
push $P163, ""
@@ -2436,7 +2436,7 @@
.namespace ["HLL";"Grammar"]
-.sub "binint" :subid("57_1272455242.78413") :method :outer("11_1272455242.78413")
+.sub "binint" :subid("57_1272816829.8573") :method :outer("11_1272816829.8573")
.annotate "line", 33
.local string rx168_tgt
.local int rx168_pos
@@ -2517,7 +2517,7 @@
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__binint" :subid("58_1272455242.78413") :method
+.sub "!PREFIX__binint" :subid("58_1272816829.8573") :method
.annotate "line", 33
new $P170, "ResizablePMCArray"
push $P170, ""
@@ -2526,7 +2526,7 @@
.namespace ["HLL";"Grammar"]
-.sub "binints" :subid("59_1272455242.78413") :method :outer("11_1272455242.78413")
+.sub "binints" :subid("59_1272816829.8573") :method :outer("11_1272816829.8573")
.annotate "line", 33
.local string rx177_tgt
.local int rx177_pos
@@ -2610,7 +2610,7 @@
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__binints" :subid("60_1272455242.78413") :method
+.sub "!PREFIX__binints" :subid("60_1272816829.8573") :method
.annotate "line", 33
new $P179, "ResizablePMCArray"
push $P179, ""
@@ -2619,7 +2619,7 @@
.namespace ["HLL";"Grammar"]
-.sub "integer" :subid("61_1272455242.78413") :method :outer("11_1272455242.78413")
+.sub "integer" :subid("61_1272816829.8573") :method :outer("11_1272816829.8573")
.annotate "line", 33
.local string rx184_tgt
.local int rx184_pos
@@ -2767,7 +2767,7 @@
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__integer" :subid("62_1272455242.78413") :method
+.sub "!PREFIX__integer" :subid("62_1272816829.8573") :method
.annotate "line", 33
$P186 = self."!PREFIX__!subrule"("VALUE=decint", "")
$P187 = self."!PREFIX__!subrule"("VALUE=decint", "0d")
@@ -2785,7 +2785,7 @@
.namespace ["HLL";"Grammar"]
-.sub "dec_number" :subid("63_1272455242.78413") :method :outer("11_1272455242.78413")
+.sub "dec_number" :subid("63_1272816829.8573") :method :outer("11_1272816829.8573")
.annotate "line", 33
.local string rx196_tgt
.local int rx196_pos
@@ -2964,7 +2964,7 @@
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__dec_number" :subid("64_1272455242.78413") :method
+.sub "!PREFIX__dec_number" :subid("64_1272816829.8573") :method
.annotate "line", 33
new $P198, "ResizablePMCArray"
push $P198, ""
@@ -2975,7 +2975,7 @@
.namespace ["HLL";"Grammar"]
-.sub "escale" :subid("65_1272455242.78413") :method :outer("11_1272455242.78413")
+.sub "escale" :subid("65_1272816829.8573") :method :outer("11_1272816829.8573")
.annotate "line", 33
.local string rx209_tgt
.local int rx209_pos
@@ -3052,7 +3052,7 @@
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__escale" :subid("66_1272455242.78413") :method
+.sub "!PREFIX__escale" :subid("66_1272816829.8573") :method
.annotate "line", 33
new $P211, "ResizablePMCArray"
push $P211, "e"
@@ -3062,7 +3062,7 @@
.namespace ["HLL";"Grammar"]
-.sub "quote_escape" :subid("67_1272455242.78413") :method
+.sub "quote_escape" :subid("67_1272816829.8573") :method
.annotate "line", 79
$P216 = self."!protoregex"("quote_escape")
.return ($P216)
@@ -3070,7 +3070,7 @@
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_escape" :subid("68_1272455242.78413") :method
+.sub "!PREFIX__quote_escape" :subid("68_1272816829.8573") :method
.annotate "line", 79
$P218 = self."!PREFIX__!protoregex"("quote_escape")
.return ($P218)
@@ -3078,7 +3078,7 @@
.namespace ["HLL";"Grammar"]
-.sub "quote_escape:sym<backslash>" :subid("69_1272455242.78413") :method :outer("11_1272455242.78413")
+.sub "quote_escape:sym<backslash>" :subid("69_1272816829.8573") :method :outer("11_1272816829.8573")
.annotate "line", 33
.local string rx220_tgt
.local int rx220_pos
@@ -3140,7 +3140,7 @@
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<backslash>" :subid("70_1272455242.78413") :method
+.sub "!PREFIX__quote_escape:sym<backslash>" :subid("70_1272816829.8573") :method
.annotate "line", 33
new $P222, "ResizablePMCArray"
push $P222, "\\\\"
@@ -3149,7 +3149,7 @@
.namespace ["HLL";"Grammar"]
-.sub "quote_escape:sym<stopper>" :subid("71_1272455242.78413") :method :outer("11_1272455242.78413")
+.sub "quote_escape:sym<stopper>" :subid("71_1272816829.8573") :method :outer("11_1272816829.8573")
.annotate "line", 33
.local string rx225_tgt
.local int rx225_pos
@@ -3218,7 +3218,7 @@
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<stopper>" :subid("72_1272455242.78413") :method
+.sub "!PREFIX__quote_escape:sym<stopper>" :subid("72_1272816829.8573") :method
.annotate "line", 33
new $P227, "ResizablePMCArray"
push $P227, "\\"
@@ -3227,7 +3227,7 @@
.namespace ["HLL";"Grammar"]
-.sub "quote_escape:sym<bs>" :subid("73_1272455242.78413") :method :outer("11_1272455242.78413")
+.sub "quote_escape:sym<bs>" :subid("73_1272816829.8573") :method :outer("11_1272816829.8573")
.annotate "line", 33
.local string rx230_tgt
.local int rx230_pos
@@ -3289,7 +3289,7 @@
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<bs>" :subid("74_1272455242.78413") :method
+.sub "!PREFIX__quote_escape:sym<bs>" :subid("74_1272816829.8573") :method
.annotate "line", 33
new $P232, "ResizablePMCArray"
push $P232, "\\b"
@@ -3298,7 +3298,7 @@
.namespace ["HLL";"Grammar"]
-.sub "quote_escape:sym<nl>" :subid("75_1272455242.78413") :method :outer("11_1272455242.78413")
+.sub "quote_escape:sym<nl>" :subid("75_1272816829.8573") :method :outer("11_1272816829.8573")
.annotate "line", 33
.local string rx235_tgt
.local int rx235_pos
@@ -3360,7 +3360,7 @@
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<nl>" :subid("76_1272455242.78413") :method
+.sub "!PREFIX__quote_escape:sym<nl>" :subid("76_1272816829.8573") :method
.annotate "line", 33
new $P237, "ResizablePMCArray"
push $P237, "\\n"
@@ -3369,7 +3369,7 @@
.namespace ["HLL";"Grammar"]
-.sub "quote_escape:sym<cr>" :subid("77_1272455242.78413") :method :outer("11_1272455242.78413")
+.sub "quote_escape:sym<cr>" :subid("77_1272816829.8573") :method :outer("11_1272816829.8573")
.annotate "line", 33
.local string rx240_tgt
.local int rx240_pos
@@ -3431,7 +3431,7 @@
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<cr>" :subid("78_1272455242.78413") :method
+.sub "!PREFIX__quote_escape:sym<cr>" :subid("78_1272816829.8573") :method
.annotate "line", 33
new $P242, "ResizablePMCArray"
push $P242, "\\r"
@@ -3440,7 +3440,7 @@
.namespace ["HLL";"Grammar"]
-.sub "quote_escape:sym<tab>" :subid("79_1272455242.78413") :method :outer("11_1272455242.78413")
+.sub "quote_escape:sym<tab>" :subid("79_1272816829.8573") :method :outer("11_1272816829.8573")
.annotate "line", 33
.local string rx245_tgt
.local int rx245_pos
@@ -3502,7 +3502,7 @@
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<tab>" :subid("80_1272455242.78413") :method
+.sub "!PREFIX__quote_escape:sym<tab>" :subid("80_1272816829.8573") :method
.annotate "line", 33
new $P247, "ResizablePMCArray"
push $P247, "\\t"
@@ -3511,7 +3511,7 @@
.namespace ["HLL";"Grammar"]
-.sub "quote_escape:sym<ff>" :subid("81_1272455242.78413") :method :outer("11_1272455242.78413")
+.sub "quote_escape:sym<ff>" :subid("81_1272816829.8573") :method :outer("11_1272816829.8573")
.annotate "line", 33
.local string rx250_tgt
.local int rx250_pos
@@ -3573,7 +3573,7 @@
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<ff>" :subid("82_1272455242.78413") :method
+.sub "!PREFIX__quote_escape:sym<ff>" :subid("82_1272816829.8573") :method
.annotate "line", 33
new $P252, "ResizablePMCArray"
push $P252, "\\f"
@@ -3582,7 +3582,7 @@
.namespace ["HLL";"Grammar"]
-.sub "quote_escape:sym<hex>" :subid("83_1272455242.78413") :method :outer("11_1272455242.78413")
+.sub "quote_escape:sym<hex>" :subid("83_1272816829.8573") :method :outer("11_1272816829.8573")
.annotate "line", 33
.local string rx255_tgt
.local int rx255_pos
@@ -3680,7 +3680,7 @@
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<hex>" :subid("84_1272455242.78413") :method
+.sub "!PREFIX__quote_escape:sym<hex>" :subid("84_1272816829.8573") :method
.annotate "line", 33
new $P257, "ResizablePMCArray"
push $P257, unicode:"\\x"
@@ -3689,7 +3689,7 @@
.namespace ["HLL";"Grammar"]
-.sub "quote_escape:sym<oct>" :subid("85_1272455242.78413") :method :outer("11_1272455242.78413")
+.sub "quote_escape:sym<oct>" :subid("85_1272816829.8573") :method :outer("11_1272816829.8573")
.annotate "line", 33
.local string rx261_tgt
.local int rx261_pos
@@ -3787,7 +3787,7 @@
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<oct>" :subid("86_1272455242.78413") :method
+.sub "!PREFIX__quote_escape:sym<oct>" :subid("86_1272816829.8573") :method
.annotate "line", 33
new $P263, "ResizablePMCArray"
push $P263, "\\o"
@@ -3796,7 +3796,7 @@
.namespace ["HLL";"Grammar"]
-.sub "quote_escape:sym<chr>" :subid("87_1272455242.78413") :method :outer("11_1272455242.78413")
+.sub "quote_escape:sym<chr>" :subid("87_1272816829.8573") :method :outer("11_1272816829.8573")
.annotate "line", 33
.local string rx267_tgt
.local int rx267_pos
@@ -3865,7 +3865,7 @@
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<chr>" :subid("88_1272455242.78413") :method
+.sub "!PREFIX__quote_escape:sym<chr>" :subid("88_1272816829.8573") :method
.annotate "line", 33
new $P269, "ResizablePMCArray"
push $P269, "\\c"
@@ -3874,7 +3874,7 @@
.namespace ["HLL";"Grammar"]
-.sub "quote_escape:sym<0>" :subid("89_1272455242.78413") :method :outer("11_1272455242.78413")
+.sub "quote_escape:sym<0>" :subid("89_1272816829.8573") :method :outer("11_1272816829.8573")
.annotate "line", 33
.local string rx272_tgt
.local int rx272_pos
@@ -3957,7 +3957,7 @@
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<0>" :subid("90_1272455242.78413") :method
+.sub "!PREFIX__quote_escape:sym<0>" :subid("90_1272816829.8573") :method
.annotate "line", 33
new $P274, "ResizablePMCArray"
push $P274, "\\0"
@@ -3966,13 +3966,13 @@
.namespace ["HLL";"Grammar"]
-.sub "quote_escape:sym<misc>" :subid("91_1272455242.78413") :method :outer("11_1272455242.78413")
+.sub "quote_escape:sym<misc>" :subid("91_1272816829.8573") :method :outer("11_1272816829.8573")
.annotate "line", 33
- .const 'Sub' $P297 = "95_1272455242.78413"
+ .const 'Sub' $P297 = "95_1272816829.8573"
capture_lex $P297
- .const 'Sub' $P290 = "94_1272455242.78413"
+ .const 'Sub' $P290 = "94_1272816829.8573"
capture_lex $P290
- .const 'Sub' $P285 = "93_1272455242.78413"
+ .const 'Sub' $P285 = "93_1272816829.8573"
capture_lex $P285
.local string rx278_tgt
.local int rx278_pos
@@ -4009,7 +4009,7 @@
$P283 = $P282."MATCH"()
store_lex "$/", $P283
.annotate "line", 99
- .const 'Sub' $P285 = "93_1272455242.78413"
+ .const 'Sub' $P285 = "93_1272816829.8573"
capture_lex $P285
$P286 = $P285()
# rx literal "\\"
@@ -4035,7 +4035,7 @@
.annotate "line", 103
# rx subrule $P290 subtype=capture negate=
rx278_cur."!cursor_pos"(rx278_pos)
- .const 'Sub' $P290 = "94_1272455242.78413"
+ .const 'Sub' $P290 = "94_1272816829.8573"
capture_lex $P290
$P10 = rx278_cur.$P290()
unless $P10, rx278_fail
@@ -4069,7 +4069,7 @@
find_lex $P294, unicode:"$\x{a2}"
$P295 = $P294."MATCH"()
store_lex "$/", $P295
- .const 'Sub' $P297 = "95_1272455242.78413"
+ .const 'Sub' $P297 = "95_1272816829.8573"
capture_lex $P297
$P307 = $P297()
alt288_end:
@@ -4115,7 +4115,7 @@
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<misc>" :subid("92_1272455242.78413") :method
+.sub "!PREFIX__quote_escape:sym<misc>" :subid("92_1272816829.8573") :method
.annotate "line", 33
new $P280, "ResizablePMCArray"
push $P280, ""
@@ -4124,14 +4124,14 @@
.namespace ["HLL";"Grammar"]
-.sub "_block284" :anon :subid("93_1272455242.78413") :outer("91_1272455242.78413")
+.sub "_block284" :anon :subid("93_1272816829.8573") :outer("91_1272816829.8573")
.annotate "line", 99
.return ()
.end
.namespace ["HLL";"Grammar"]
-.sub "_block289" :anon :subid("94_1272455242.78413") :method :outer("91_1272455242.78413")
+.sub "_block289" :anon :subid("94_1272816829.8573") :method :outer("91_1272816829.8573")
.annotate "line", 103
.local string rx291_tgt
.local int rx291_pos
@@ -4186,7 +4186,7 @@
.namespace ["HLL";"Grammar"]
-.sub "_block296" :anon :subid("95_1272455242.78413") :outer("91_1272455242.78413")
+.sub "_block296" :anon :subid("95_1272816829.8573") :outer("91_1272816829.8573")
.annotate "line", 104
find_lex $P298, "$/"
$P299 = $P298."CURSOR"()
@@ -4209,9 +4209,9 @@
.namespace ["HLL";"Grammar"]
-.sub "charname" :subid("96_1272455242.78413") :method :outer("11_1272455242.78413")
+.sub "charname" :subid("96_1272816829.8573") :method :outer("11_1272816829.8573")
.annotate "line", 33
- .const 'Sub' $P319 = "98_1272455242.78413"
+ .const 'Sub' $P319 = "98_1272816829.8573"
capture_lex $P319
.local string rx310_tgt
.local int rx310_pos
@@ -4289,7 +4289,7 @@
.annotate "line", 113
# rx subrule "before" subtype=zerowidth negate=
rx310_cur."!cursor_pos"(rx310_pos)
- .const 'Sub' $P319 = "98_1272455242.78413"
+ .const 'Sub' $P319 = "98_1272816829.8573"
capture_lex $P319
$P10 = rx310_cur."before"($P319)
unless $P10, rx310_fail
@@ -4314,7 +4314,7 @@
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__charname" :subid("97_1272455242.78413") :method
+.sub "!PREFIX__charname" :subid("97_1272816829.8573") :method
.annotate "line", 33
$P312 = self."!PREFIX__!subrule"("integer", "")
new $P313, "ResizablePMCArray"
@@ -4376,7 +4376,7 @@
.namespace ["HLL";"Grammar"]
-.sub "_block318" :anon :subid("98_1272455242.78413") :method :outer("96_1272455242.78413")
+.sub "_block318" :anon :subid("98_1272816829.8573") :method :outer("96_1272816829.8573")
.annotate "line", 113
.local string rx320_tgt
.local int rx320_pos
@@ -4436,7 +4436,7 @@
.namespace ["HLL";"Grammar"]
-.sub "charnames" :subid("99_1272455242.78413") :method :outer("11_1272455242.78413")
+.sub "charnames" :subid("99_1272816829.8573") :method :outer("11_1272816829.8573")
.annotate "line", 33
.local string rx323_tgt
.local int rx323_pos
@@ -4520,7 +4520,7 @@
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__charnames" :subid("100_1272455242.78413") :method
+.sub "!PREFIX__charnames" :subid("100_1272816829.8573") :method
.annotate "line", 33
new $P325, "ResizablePMCArray"
push $P325, ""
@@ -4529,7 +4529,7 @@
.namespace ["HLL";"Grammar"]
-.sub "charspec" :subid("101_1272455242.78413") :method :outer("11_1272455242.78413")
+.sub "charspec" :subid("101_1272816829.8573") :method :outer("11_1272816829.8573")
.annotate "line", 33
.local string rx330_tgt
.local int rx330_pos
@@ -4659,7 +4659,7 @@
.namespace ["HLL";"Grammar"]
-.sub "!PREFIX__charspec" :subid("102_1272455242.78413") :method
+.sub "!PREFIX__charspec" :subid("102_1272816829.8573") :method
.annotate "line", 33
$P332 = self."!PREFIX__!subrule"("", "")
$P333 = self."!PREFIX__!subrule"("charnames", "[")
@@ -4701,7 +4701,7 @@
### .include 'gen/hllgrammar-actions.pir'
.namespace []
-.sub "_block11" :anon :subid("10_1272455244.05365")
+.sub "_block11" :anon :subid("10_1272816831.39278")
.annotate "line", 0
get_hll_global $P14, ["HLL";"Actions"], "_block13"
capture_lex $P14
@@ -4715,9 +4715,9 @@
.namespace []
-.sub "" :load :init :subid("post49") :outer("10_1272455244.05365")
+.sub "" :load :init :subid("post49") :outer("10_1272816831.39278")
.annotate "line", 0
- .const 'Sub' $P12 = "10_1272455244.05365"
+ .const 'Sub' $P12 = "10_1272816831.39278"
.local pmc block
set block, $P12
$P572 = get_root_global ["parrot"], "P6metaclass"
@@ -4726,72 +4726,72 @@
.namespace ["HLL";"Actions"]
-.sub "_block13" :subid("11_1272455244.05365") :outer("10_1272455244.05365")
+.sub "_block13" :subid("11_1272816831.39278") :outer("10_1272816831.39278")
.annotate "line", 3
- .const 'Sub' $P554 = "48_1272455244.05365"
+ .const 'Sub' $P554 = "48_1272816831.39278"
capture_lex $P554
- .const 'Sub' $P529 = "46_1272455244.05365"
+ .const 'Sub' $P529 = "46_1272816831.39278"
capture_lex $P529
- .const 'Sub' $P498 = "45_1272455244.05365"
+ .const 'Sub' $P498 = "45_1272816831.39278"
capture_lex $P498
- .const 'Sub' $P479 = "44_1272455244.05365"
+ .const 'Sub' $P479 = "44_1272816831.39278"
capture_lex $P479
- .const 'Sub' $P472 = "43_1272455244.05365"
+ .const 'Sub' $P472 = "43_1272816831.39278"
capture_lex $P472
- .const 'Sub' $P462 = "42_1272455244.05365"
+ .const 'Sub' $P462 = "42_1272816831.39278"
capture_lex $P462
- .const 'Sub' $P445 = "41_1272455244.05365"
+ .const 'Sub' $P445 = "41_1272816831.39278"
capture_lex $P445
- .const 'Sub' $P428 = "40_1272455244.05365"
+ .const 'Sub' $P428 = "40_1272816831.39278"
capture_lex $P428
- .const 'Sub' $P421 = "39_1272455244.05365"
+ .const 'Sub' $P421 = "39_1272816831.39278"
capture_lex $P421
- .const 'Sub' $P414 = "38_1272455244.05365"
+ .const 'Sub' $P414 = "38_1272816831.39278"
capture_lex $P414
- .const 'Sub' $P407 = "37_1272455244.05365"
+ .const 'Sub' $P407 = "37_1272816831.39278"
capture_lex $P407
- .const 'Sub' $P400 = "36_1272455244.05365"
+ .const 'Sub' $P400 = "36_1272816831.39278"
capture_lex $P400
- .const 'Sub' $P393 = "35_1272455244.05365"
+ .const 'Sub' $P393 = "35_1272816831.39278"
capture_lex $P393
- .const 'Sub' $P383 = "34_1272455244.05365"
+ .const 'Sub' $P383 = "34_1272816831.39278"
capture_lex $P383
- .const 'Sub' $P376 = "33_1272455244.05365"
+ .const 'Sub' $P376 = "33_1272816831.39278"
capture_lex $P376
- .const 'Sub' $P360 = "32_1272455244.05365"
+ .const 'Sub' $P360 = "32_1272816831.39278"
capture_lex $P360
- .const 'Sub' $P285 = "30_1272455244.05365"
+ .const 'Sub' $P285 = "30_1272816831.39278"
capture_lex $P285
- .const 'Sub' $P222 = "27_1272455244.05365"
+ .const 'Sub' $P222 = "27_1272816831.39278"
capture_lex $P222
- .const 'Sub' $P213 = "26_1272455244.05365"
+ .const 'Sub' $P213 = "26_1272816831.39278"
capture_lex $P213
- .const 'Sub' $P204 = "25_1272455244.05365"
+ .const 'Sub' $P204 = "25_1272816831.39278"
capture_lex $P204
- .const 'Sub' $P195 = "24_1272455244.05365"
+ .const 'Sub' $P195 = "24_1272816831.39278"
capture_lex $P195
- .const 'Sub' $P186 = "23_1272455244.05365"
+ .const 'Sub' $P186 = "23_1272816831.39278"
capture_lex $P186
- .const 'Sub' $P177 = "22_1272455244.05365"
+ .const 'Sub' $P177 = "22_1272816831.39278"
capture_lex $P177
- .const 'Sub' $P167 = "21_1272455244.05365"
+ .const 'Sub' $P167 = "21_1272816831.39278"
capture_lex $P167
- .const 'Sub' $P157 = "20_1272455244.05365"
+ .const 'Sub' $P157 = "20_1272816831.39278"
capture_lex $P157
- .const 'Sub' $P149 = "19_1272455244.05365"
+ .const 'Sub' $P149 = "19_1272816831.39278"
capture_lex $P149
- .const 'Sub' $P139 = "18_1272455244.05365"
+ .const 'Sub' $P139 = "18_1272816831.39278"
capture_lex $P139
- .const 'Sub' $P129 = "17_1272455244.05365"
+ .const 'Sub' $P129 = "17_1272816831.39278"
capture_lex $P129
- .const 'Sub' $P28 = "14_1272455244.05365"
+ .const 'Sub' $P28 = "14_1272816831.39278"
capture_lex $P28
- .const 'Sub' $P22 = "13_1272455244.05365"
+ .const 'Sub' $P22 = "13_1272816831.39278"
capture_lex $P22
- .const 'Sub' $P15 = "12_1272455244.05365"
+ .const 'Sub' $P15 = "12_1272816831.39278"
capture_lex $P15
.annotate "line", 197
- .const 'Sub' $P554 = "48_1272455244.05365"
+ .const 'Sub' $P554 = "48_1272816831.39278"
capture_lex $P554
.annotate "line", 3
.return ($P554)
@@ -4799,7 +4799,7 @@
.namespace ["HLL";"Actions"]
-.sub "string_to_int" :subid("12_1272455244.05365") :outer("11_1272455244.05365")
+.sub "string_to_int" :subid("12_1272816831.39278") :outer("11_1272816831.39278")
.param pmc param_18
.param pmc param_19
.annotate "line", 3
@@ -4852,7 +4852,7 @@
.namespace ["HLL";"Actions"]
-.sub "ints_to_string" :subid("13_1272455244.05365") :outer("11_1272455244.05365")
+.sub "ints_to_string" :subid("13_1272816831.39278") :outer("11_1272816831.39278")
.param pmc param_25
.annotate "line", 37
new $P24, 'ExceptionHandler'
@@ -4893,14 +4893,14 @@
.namespace ["HLL";"Actions"]
-.sub "EXPR" :subid("14_1272455244.05365") :method :outer("11_1272455244.05365")
+.sub "EXPR" :subid("14_1272816831.39278") :method :outer("11_1272816831.39278")
.param pmc param_31
.param pmc param_32 :optional
.param int has_param_32 :opt_flag
.annotate "line", 62
- .const 'Sub' $P111 = "16_1272455244.05365"
+ .const 'Sub' $P111 = "16_1272816831.39278"
capture_lex $P111
- .const 'Sub' $P78 = "15_1272455244.05365"
+ .const 'Sub' $P78 = "15_1272816831.39278"
capture_lex $P78
new $P30, 'ExceptionHandler'
set_addr $P30, control_29
@@ -5035,7 +5035,7 @@
find_lex $P75, "$past"
$P76 = $P75."name"()
if $P76, unless_74_end
- .const 'Sub' $P78 = "15_1272455244.05365"
+ .const 'Sub' $P78 = "15_1272816831.39278"
capture_lex $P78
$P78()
unless_74_end:
@@ -5059,7 +5059,7 @@
unless $P105, loop122_done
shift $P109, $P105
loop122_redo:
- .const 'Sub' $P111 = "16_1272455244.05365"
+ .const 'Sub' $P111 = "16_1272816831.39278"
capture_lex $P111
$P111($P109)
loop122_next:
@@ -5104,7 +5104,7 @@
.namespace ["HLL";"Actions"]
-.sub "_block77" :anon :subid("15_1272455244.05365") :outer("14_1272455244.05365")
+.sub "_block77" :anon :subid("15_1272816831.39278") :outer("14_1272816831.39278")
.annotate "line", 71
new $P79, "Undef"
.lex "$name", $P79
@@ -5154,7 +5154,7 @@
.namespace ["HLL";"Actions"]
-.sub "_block110" :anon :subid("16_1272455244.05365") :outer("14_1272455244.05365")
+.sub "_block110" :anon :subid("16_1272816831.39278") :outer("14_1272816831.39278")
.param pmc param_112
.annotate "line", 82
.lex "$_", param_112
@@ -5177,7 +5177,7 @@
.namespace ["HLL";"Actions"]
-.sub "term:sym<circumfix>" :subid("17_1272455244.05365") :method :outer("11_1272455244.05365")
+.sub "term:sym<circumfix>" :subid("17_1272816831.39278") :method :outer("11_1272816831.39278")
.param pmc param_132
.annotate "line", 87
new $P131, 'ExceptionHandler'
@@ -5207,7 +5207,7 @@
.namespace ["HLL";"Actions"]
-.sub "termish" :subid("18_1272455244.05365") :method :outer("11_1272455244.05365")
+.sub "termish" :subid("18_1272816831.39278") :method :outer("11_1272816831.39278")
.param pmc param_142
.annotate "line", 89
new $P141, 'ExceptionHandler'
@@ -5237,7 +5237,7 @@
.namespace ["HLL";"Actions"]
-.sub "nullterm" :subid("19_1272455244.05365") :method :outer("11_1272455244.05365")
+.sub "nullterm" :subid("19_1272816831.39278") :method :outer("11_1272816831.39278")
.param pmc param_152
.annotate "line", 90
new $P151, 'ExceptionHandler'
@@ -5259,7 +5259,7 @@
.namespace ["HLL";"Actions"]
-.sub "nullterm_alt" :subid("20_1272455244.05365") :method :outer("11_1272455244.05365")
+.sub "nullterm_alt" :subid("20_1272816831.39278") :method :outer("11_1272816831.39278")
.param pmc param_160
.annotate "line", 91
new $P159, 'ExceptionHandler'
@@ -5289,7 +5289,7 @@
.namespace ["HLL";"Actions"]
-.sub "integer" :subid("21_1272455244.05365") :method :outer("11_1272455244.05365")
+.sub "integer" :subid("21_1272816831.39278") :method :outer("11_1272816831.39278")
.param pmc param_170
.annotate "line", 93
new $P169, 'ExceptionHandler'
@@ -5319,7 +5319,7 @@
.namespace ["HLL";"Actions"]
-.sub "dec_number" :subid("22_1272455244.05365") :method :outer("11_1272455244.05365")
+.sub "dec_number" :subid("22_1272816831.39278") :method :outer("11_1272816831.39278")
.param pmc param_180
.annotate "line", 95
new $P179, 'ExceptionHandler'
@@ -5342,7 +5342,7 @@
.namespace ["HLL";"Actions"]
-.sub "decint" :subid("23_1272455244.05365") :method :outer("11_1272455244.05365")
+.sub "decint" :subid("23_1272816831.39278") :method :outer("11_1272816831.39278")
.param pmc param_189
.annotate "line", 97
new $P188, 'ExceptionHandler'
@@ -5365,7 +5365,7 @@
.namespace ["HLL";"Actions"]
-.sub "hexint" :subid("24_1272455244.05365") :method :outer("11_1272455244.05365")
+.sub "hexint" :subid("24_1272816831.39278") :method :outer("11_1272816831.39278")
.param pmc param_198
.annotate "line", 98
new $P197, 'ExceptionHandler'
@@ -5388,7 +5388,7 @@
.namespace ["HLL";"Actions"]
-.sub "octint" :subid("25_1272455244.05365") :method :outer("11_1272455244.05365")
+.sub "octint" :subid("25_1272816831.39278") :method :outer("11_1272816831.39278")
.param pmc param_207
.annotate "line", 99
new $P206, 'ExceptionHandler'
@@ -5411,7 +5411,7 @@
.namespace ["HLL";"Actions"]
-.sub "binint" :subid("26_1272455244.05365") :method :outer("11_1272455244.05365")
+.sub "binint" :subid("26_1272816831.39278") :method :outer("11_1272816831.39278")
.param pmc param_216
.annotate "line", 100
new $P215, 'ExceptionHandler'
@@ -5434,10 +5434,10 @@
.namespace ["HLL";"Actions"]
-.sub "quote_EXPR" :subid("27_1272455244.05365") :method :outer("11_1272455244.05365")
+.sub "quote_EXPR" :subid("27_1272816831.39278") :method :outer("11_1272816831.39278")
.param pmc param_225
.annotate "line", 102
- .const 'Sub' $P241 = "28_1272455244.05365"
+ .const 'Sub' $P241 = "28_1272816831.39278"
capture_lex $P241
new $P224, 'ExceptionHandler'
set_addr $P224, control_223
@@ -5469,7 +5469,7 @@
$P237 = $P235."ACCEPTS"($P236)
if $P237, if_234
.annotate "line", 108
- .const 'Sub' $P241 = "28_1272455244.05365"
+ .const 'Sub' $P241 = "28_1272816831.39278"
capture_lex $P241
$P241()
goto if_234_end
@@ -5508,9 +5508,9 @@
.namespace ["HLL";"Actions"]
-.sub "_block240" :anon :subid("28_1272455244.05365") :outer("27_1272455244.05365")
+.sub "_block240" :anon :subid("28_1272816831.39278") :outer("27_1272816831.39278")
.annotate "line", 108
- .const 'Sub' $P260 = "29_1272455244.05365"
+ .const 'Sub' $P260 = "29_1272816831.39278"
capture_lex $P260
.annotate "line", 109
$P242 = root_new ['parrot';'ResizablePMCArray']
@@ -5561,7 +5561,7 @@
unless $P255, loop265_done
shift $P258, $P255
loop265_redo:
- .const 'Sub' $P260 = "29_1272455244.05365"
+ .const 'Sub' $P260 = "29_1272816831.39278"
capture_lex $P260
$P260($P258)
loop265_next:
@@ -5584,7 +5584,7 @@
.namespace ["HLL";"Actions"]
-.sub "_block259" :anon :subid("29_1272455244.05365") :outer("28_1272455244.05365")
+.sub "_block259" :anon :subid("29_1272816831.39278") :outer("28_1272816831.39278")
.param pmc param_261
.annotate "line", 112
.lex "$_", param_261
@@ -5596,10 +5596,10 @@
.namespace ["HLL";"Actions"]
-.sub "quote_delimited" :subid("30_1272455244.05365") :method :outer("11_1272455244.05365")
+.sub "quote_delimited" :subid("30_1272816831.39278") :method :outer("11_1272816831.39278")
.param pmc param_288
.annotate "line", 125
- .const 'Sub' $P300 = "31_1272455244.05365"
+ .const 'Sub' $P300 = "31_1272816831.39278"
capture_lex $P300
new $P287, 'ExceptionHandler'
set_addr $P287, control_286
@@ -5642,7 +5642,7 @@
unless $P294, loop332_done
shift $P298, $P294
loop332_redo:
- .const 'Sub' $P300 = "31_1272455244.05365"
+ .const 'Sub' $P300 = "31_1272816831.39278"
capture_lex $P300
$P300($P298)
loop332_next:
@@ -5720,7 +5720,7 @@
.namespace ["HLL";"Actions"]
-.sub "_block299" :anon :subid("31_1272455244.05365") :outer("30_1272455244.05365")
+.sub "_block299" :anon :subid("31_1272816831.39278") :outer("30_1272816831.39278")
.param pmc param_302
.annotate "line", 129
new $P301, "Undef"
@@ -5789,7 +5789,7 @@
.namespace ["HLL";"Actions"]
-.sub "quote_atom" :subid("32_1272455244.05365") :method :outer("11_1272455244.05365")
+.sub "quote_atom" :subid("32_1272816831.39278") :method :outer("11_1272816831.39278")
.param pmc param_363
.annotate "line", 150
new $P362, 'ExceptionHandler'
@@ -5838,7 +5838,7 @@
.namespace ["HLL";"Actions"]
-.sub "quote_escape:sym<backslash>" :subid("33_1272455244.05365") :method :outer("11_1272455244.05365")
+.sub "quote_escape:sym<backslash>" :subid("33_1272816831.39278") :method :outer("11_1272816831.39278")
.param pmc param_379
.annotate "line", 154
new $P378, 'ExceptionHandler'
@@ -5859,7 +5859,7 @@
.namespace ["HLL";"Actions"]
-.sub "quote_escape:sym<stopper>" :subid("34_1272455244.05365") :method :outer("11_1272455244.05365")
+.sub "quote_escape:sym<stopper>" :subid("34_1272816831.39278") :method :outer("11_1272816831.39278")
.param pmc param_386
.annotate "line", 155
new $P385, 'ExceptionHandler'
@@ -5889,7 +5889,7 @@
.namespace ["HLL";"Actions"]
-.sub "quote_escape:sym<bs>" :subid("35_1272455244.05365") :method :outer("11_1272455244.05365")
+.sub "quote_escape:sym<bs>" :subid("35_1272816831.39278") :method :outer("11_1272816831.39278")
.param pmc param_396
.annotate "line", 157
new $P395, 'ExceptionHandler'
@@ -5910,7 +5910,7 @@
.namespace ["HLL";"Actions"]
-.sub "quote_escape:sym<nl>" :subid("36_1272455244.05365") :method :outer("11_1272455244.05365")
+.sub "quote_escape:sym<nl>" :subid("36_1272816831.39278") :method :outer("11_1272816831.39278")
.param pmc param_403
.annotate "line", 158
new $P402, 'ExceptionHandler'
@@ -5931,7 +5931,7 @@
.namespace ["HLL";"Actions"]
-.sub "quote_escape:sym<cr>" :subid("37_1272455244.05365") :method :outer("11_1272455244.05365")
+.sub "quote_escape:sym<cr>" :subid("37_1272816831.39278") :method :outer("11_1272816831.39278")
.param pmc param_410
.annotate "line", 159
new $P409, 'ExceptionHandler'
@@ -5952,7 +5952,7 @@
.namespace ["HLL";"Actions"]
-.sub "quote_escape:sym<tab>" :subid("38_1272455244.05365") :method :outer("11_1272455244.05365")
+.sub "quote_escape:sym<tab>" :subid("38_1272816831.39278") :method :outer("11_1272816831.39278")
.param pmc param_417
.annotate "line", 160
new $P416, 'ExceptionHandler'
@@ -5973,7 +5973,7 @@
.namespace ["HLL";"Actions"]
-.sub "quote_escape:sym<ff>" :subid("39_1272455244.05365") :method :outer("11_1272455244.05365")
+.sub "quote_escape:sym<ff>" :subid("39_1272816831.39278") :method :outer("11_1272816831.39278")
.param pmc param_424
.annotate "line", 161
new $P423, 'ExceptionHandler'
@@ -5994,7 +5994,7 @@
.namespace ["HLL";"Actions"]
-.sub "quote_escape:sym<hex>" :subid("40_1272455244.05365") :method :outer("11_1272455244.05365")
+.sub "quote_escape:sym<hex>" :subid("40_1272816831.39278") :method :outer("11_1272816831.39278")
.param pmc param_431
.annotate "line", 163
new $P430, 'ExceptionHandler'
@@ -6052,7 +6052,7 @@
.namespace ["HLL";"Actions"]
-.sub "quote_escape:sym<oct>" :subid("41_1272455244.05365") :method :outer("11_1272455244.05365")
+.sub "quote_escape:sym<oct>" :subid("41_1272816831.39278") :method :outer("11_1272816831.39278")
.param pmc param_448
.annotate "line", 167
new $P447, 'ExceptionHandler'
@@ -6110,7 +6110,7 @@
.namespace ["HLL";"Actions"]
-.sub "quote_escape:sym<chr>" :subid("42_1272455244.05365") :method :outer("11_1272455244.05365")
+.sub "quote_escape:sym<chr>" :subid("42_1272816831.39278") :method :outer("11_1272816831.39278")
.param pmc param_465
.annotate "line", 171
new $P464, 'ExceptionHandler'
@@ -6142,7 +6142,7 @@
.namespace ["HLL";"Actions"]
-.sub "quote_escape:sym<0>" :subid("43_1272455244.05365") :method :outer("11_1272455244.05365")
+.sub "quote_escape:sym<0>" :subid("43_1272816831.39278") :method :outer("11_1272816831.39278")
.param pmc param_475
.annotate "line", 175
new $P474, 'ExceptionHandler'
@@ -6165,7 +6165,7 @@
.namespace ["HLL";"Actions"]
-.sub "quote_escape:sym<misc>" :subid("44_1272455244.05365") :method :outer("11_1272455244.05365")
+.sub "quote_escape:sym<misc>" :subid("44_1272816831.39278") :method :outer("11_1272816831.39278")
.param pmc param_482
.annotate "line", 179
new $P481, 'ExceptionHandler'
@@ -6223,7 +6223,7 @@
.namespace ["HLL";"Actions"]
-.sub "charname" :subid("45_1272455244.05365") :method :outer("11_1272455244.05365")
+.sub "charname" :subid("45_1272816831.39278") :method :outer("11_1272816831.39278")
.param pmc param_501
.annotate "line", 183
new $P500, 'ExceptionHandler'
@@ -6296,10 +6296,10 @@
.namespace ["HLL";"Actions"]
-.sub "charnames" :subid("46_1272455244.05365") :method :outer("11_1272455244.05365")
+.sub "charnames" :subid("46_1272816831.39278") :method :outer("11_1272816831.39278")
.param pmc param_532
.annotate "line", 191
- .const 'Sub' $P541 = "47_1272455244.05365"
+ .const 'Sub' $P541 = "47_1272816831.39278"
capture_lex $P541
new $P531, 'ExceptionHandler'
set_addr $P531, control_530
@@ -6333,7 +6333,7 @@
unless $P535, loop547_done
shift $P539, $P535
loop547_redo:
- .const 'Sub' $P541 = "47_1272455244.05365"
+ .const 'Sub' $P541 = "47_1272816831.39278"
capture_lex $P541
$P541($P539)
loop547_next:
@@ -6362,7 +6362,7 @@
.namespace ["HLL";"Actions"]
-.sub "_block540" :anon :subid("47_1272455244.05365") :outer("46_1272455244.05365")
+.sub "_block540" :anon :subid("47_1272816831.39278") :outer("46_1272816831.39278")
.param pmc param_542
.annotate "line", 193
.lex "$_", param_542
@@ -6376,7 +6376,7 @@
.namespace ["HLL";"Actions"]
-.sub "charspec" :subid("48_1272455244.05365") :method :outer("11_1272455244.05365")
+.sub "charspec" :subid("48_1272816831.39278") :method :outer("11_1272816831.39278")
.param pmc param_557
.annotate "line", 197
new $P556, 'ExceptionHandler'
@@ -6427,7 +6427,7 @@
### .include 'gen/hllcompiler.pir'
.namespace []
-.sub "_block11" :anon :subid("10_1272455244.64589")
+.sub "_block11" :anon :subid("10_1272816832.1082")
.annotate "line", 0
get_hll_global $P14, ["HLL";"Compiler"], "_block13"
capture_lex $P14
@@ -6441,9 +6441,9 @@
.namespace []
-.sub "" :load :init :subid("post25") :outer("10_1272455244.64589")
+.sub "" :load :init :subid("post25") :outer("10_1272816832.1082")
.annotate "line", 0
- .const 'Sub' $P12 = "10_1272455244.64589"
+ .const 'Sub' $P12 = "10_1272816832.1082"
.local pmc block
set block, $P12
.annotate "line", 2
@@ -6457,28 +6457,28 @@
.namespace ["HLL";"Compiler"]
-.sub "_block13" :subid("11_1272455244.64589") :outer("10_1272455244.64589")
+.sub "_block13" :subid("11_1272816832.1082") :outer("10_1272816832.1082")
.annotate "line", 6
- .const 'Sub' $P187 = "20_1272455244.64589"
+ .const 'Sub' $P187 = "20_1272816832.1082"
capture_lex $P187
- .const 'Sub' $P152 = "18_1272455244.64589"
+ .const 'Sub' $P152 = "18_1272816832.1082"
capture_lex $P152
- .const 'Sub' $P137 = "17_1272455244.64589"
+ .const 'Sub' $P137 = "17_1272816832.1082"
capture_lex $P137
- .const 'Sub' $P121 = "16_1272455244.64589"
+ .const 'Sub' $P121 = "16_1272816832.1082"
capture_lex $P121
- .const 'Sub' $P32 = "13_1272455244.64589"
+ .const 'Sub' $P32 = "13_1272816832.1082"
capture_lex $P32
- .const 'Sub' $P15 = "12_1272455244.64589"
+ .const 'Sub' $P15 = "12_1272816832.1082"
capture_lex $P15
.annotate "line", 14
- .const 'Sub' $P15 = "12_1272455244.64589"
+ .const 'Sub' $P15 = "12_1272816832.1082"
capture_lex $P15
.lex "value_type", $P15
.annotate "line", 10
find_lex $P31, "value_type"
.annotate "line", 69
- .const 'Sub' $P187 = "20_1272455244.64589"
+ .const 'Sub' $P187 = "20_1272816832.1082"
capture_lex $P187
.annotate "line", 6
.return ($P187)
@@ -6486,7 +6486,7 @@
.namespace ["HLL";"Compiler"]
-.sub "" :load :init :subid("post26") :outer("11_1272455244.64589")
+.sub "" :load :init :subid("post26") :outer("11_1272816832.1082")
.annotate "line", 6
get_hll_global $P14, ["HLL";"Compiler"], "_block13"
.local pmc block
@@ -6498,7 +6498,7 @@
.namespace ["HLL";"Compiler"]
-.sub "value_type" :subid("12_1272455244.64589") :outer("11_1272455244.64589")
+.sub "value_type" :subid("12_1272816832.1082") :outer("11_1272816832.1082")
.param pmc param_18
.annotate "line", 14
new $P17, 'ExceptionHandler'
@@ -6542,15 +6542,15 @@
.namespace ["HLL";"Compiler"]
-.sub "get_exports" :subid("13_1272455244.64589") :method :outer("11_1272455244.64589")
+.sub "get_exports" :subid("13_1272816832.1082") :method :outer("11_1272816832.1082")
.param pmc param_35
.param pmc param_38 :slurpy
.param pmc param_36 :optional :named("tagset")
.param int has_param_36 :opt_flag
.annotate "line", 20
- .const 'Sub' $P104 = "15_1272455244.64589"
+ .const 'Sub' $P104 = "15_1272816832.1082"
capture_lex $P104
- .const 'Sub' $P83 = "14_1272455244.64589"
+ .const 'Sub' $P83 = "14_1272816832.1082"
capture_lex $P83
new $P34, 'ExceptionHandler'
set_addr $P34, control_33
@@ -6656,7 +6656,7 @@
unless $P99, loop116_done
shift $P102, $P99
loop116_redo:
- .const 'Sub' $P104 = "15_1272455244.64589"
+ .const 'Sub' $P104 = "15_1272816832.1082"
capture_lex $P104
$P104($P102)
loop116_next:
@@ -6686,7 +6686,7 @@
unless $P78, loop96_done
shift $P81, $P78
loop96_redo:
- .const 'Sub' $P83 = "14_1272455244.64589"
+ .const 'Sub' $P83 = "14_1272816832.1082"
capture_lex $P83
$P83($P81)
loop96_next:
@@ -6714,7 +6714,7 @@
.namespace ["HLL";"Compiler"]
-.sub "_block103" :anon :subid("15_1272455244.64589") :outer("13_1272455244.64589")
+.sub "_block103" :anon :subid("15_1272816832.1082") :outer("13_1272816832.1082")
.param pmc param_106
.annotate "line", 40
new $P105, "Undef"
@@ -6746,7 +6746,7 @@
.namespace ["HLL";"Compiler"]
-.sub "_block82" :anon :subid("14_1272455244.64589") :outer("13_1272455244.64589")
+.sub "_block82" :anon :subid("14_1272816832.1082") :outer("13_1272816832.1082")
.param pmc param_85
.annotate "line", 34
new $P84, "Undef"
@@ -6785,7 +6785,7 @@
.namespace ["HLL";"Compiler"]
-.sub "get_module" :subid("16_1272455244.64589") :method :outer("11_1272455244.64589")
+.sub "get_module" :subid("16_1272816832.1082") :method :outer("11_1272816832.1082")
.param pmc param_124
.annotate "line", 47
new $P123, 'ExceptionHandler'
@@ -6825,7 +6825,7 @@
.namespace ["HLL";"Compiler"]
-.sub "language" :subid("17_1272455244.64589") :method :outer("11_1272455244.64589")
+.sub "language" :subid("17_1272816832.1082") :method :outer("11_1272816832.1082")
.param pmc param_140 :optional
.param int has_param_140 :opt_flag
.annotate "line", 53
@@ -6869,10 +6869,10 @@
.namespace ["HLL";"Compiler"]
-.sub "load_module" :subid("18_1272455244.64589") :method :outer("11_1272455244.64589")
+.sub "load_module" :subid("18_1272816832.1082") :method :outer("11_1272816832.1082")
.param pmc param_155
.annotate "line", 61
- .const 'Sub' $P165 = "19_1272455244.64589"
+ .const 'Sub' $P165 = "19_1272816832.1082"
capture_lex $P165
new $P154, 'ExceptionHandler'
set_addr $P154, control_153
@@ -6899,7 +6899,7 @@
assign $P163, 0
store_lex "$loaded", $P163
.annotate "line", 64
- .const 'Sub' $P165 = "19_1272455244.64589"
+ .const 'Sub' $P165 = "19_1272816832.1082"
capture_lex $P165
$P165()
.annotate "line", 65
@@ -6928,7 +6928,7 @@
.namespace ["HLL";"Compiler"]
-.sub "_block164" :anon :subid("19_1272455244.64589") :outer("18_1272455244.64589")
+.sub "_block164" :anon :subid("19_1272816832.1082") :outer("18_1272816832.1082")
.annotate "line", 64
new $P172, 'ExceptionHandler'
set_addr $P172, control_171
@@ -6961,11 +6961,11 @@
.namespace ["HLL";"Compiler"]
-.sub "import" :subid("20_1272455244.64589") :method :outer("11_1272455244.64589")
+.sub "import" :subid("20_1272816832.1082") :method :outer("11_1272816832.1082")
.param pmc param_190
.param pmc param_191
.annotate "line", 69
- .const 'Sub' $P197 = "21_1272455244.64589"
+ .const 'Sub' $P197 = "21_1272816832.1082"
capture_lex $P197
new $P189, 'ExceptionHandler'
set_addr $P189, control_188
@@ -6987,7 +6987,7 @@
unless $P192, loop278_done
shift $P195, $P192
loop278_redo:
- .const 'Sub' $P197 = "21_1272455244.64589"
+ .const 'Sub' $P197 = "21_1272816832.1082"
capture_lex $P197
$P197($P195)
loop278_next:
@@ -7012,14 +7012,14 @@
.namespace ["HLL";"Compiler"]
-.sub "_block196" :anon :subid("21_1272455244.64589") :outer("20_1272455244.64589")
+.sub "_block196" :anon :subid("21_1272816832.1082") :outer("20_1272816832.1082")
.param pmc param_200
.annotate "line", 70
- .const 'Sub' $P267 = "24_1272455244.64589"
+ .const 'Sub' $P267 = "24_1272816832.1082"
capture_lex $P267
- .const 'Sub' $P247 = "23_1272455244.64589"
+ .const 'Sub' $P247 = "23_1272816832.1082"
capture_lex $P247
- .const 'Sub' $P218 = "22_1272455244.64589"
+ .const 'Sub' $P218 = "22_1272816832.1082"
capture_lex $P218
.annotate "line", 71
new $P198, "Undef"
@@ -7067,7 +7067,7 @@
unless $P262, loop275_done
shift $P265, $P262
loop275_redo:
- .const 'Sub' $P267 = "24_1272455244.64589"
+ .const 'Sub' $P267 = "24_1272816832.1082"
capture_lex $P267
$P267($P265)
loop275_next:
@@ -7099,7 +7099,7 @@
unless $P242, loop259_done
shift $P245, $P242
loop259_redo:
- .const 'Sub' $P247 = "23_1272455244.64589"
+ .const 'Sub' $P247 = "23_1272816832.1082"
capture_lex $P247
$P247($P245)
loop259_next:
@@ -7133,7 +7133,7 @@
unless $P213, loop231_done
shift $P216, $P213
loop231_redo:
- .const 'Sub' $P218 = "22_1272455244.64589"
+ .const 'Sub' $P218 = "22_1272816832.1082"
capture_lex $P218
$P218($P216)
loop231_next:
@@ -7156,7 +7156,7 @@
.namespace ["HLL";"Compiler"]
-.sub "_block266" :anon :subid("24_1272455244.64589") :outer("21_1272455244.64589")
+.sub "_block266" :anon :subid("24_1272816832.1082") :outer("21_1272816832.1082")
.param pmc param_268
.annotate "line", 80
.lex "$_", param_268
@@ -7176,7 +7176,7 @@
.namespace ["HLL";"Compiler"]
-.sub "_block246" :anon :subid("23_1272455244.64589") :outer("21_1272455244.64589")
+.sub "_block246" :anon :subid("23_1272816832.1082") :outer("21_1272816832.1082")
.param pmc param_248
.annotate "line", 77
.lex "$_", param_248
@@ -7196,7 +7196,7 @@
.namespace ["HLL";"Compiler"]
-.sub "_block217" :anon :subid("22_1272455244.64589") :outer("21_1272455244.64589")
+.sub "_block217" :anon :subid("22_1272816832.1082") :outer("21_1272816832.1082")
.param pmc param_219
.annotate "line", 74
.lex "$_", param_219
Modified: branches/codestring/ext/nqp-rx/src/stage0/NQP-s0.pir
==============================================================================
--- branches/codestring/ext/nqp-rx/src/stage0/NQP-s0.pir Mon May 3 13:16:49 2010 (r46234)
+++ branches/codestring/ext/nqp-rx/src/stage0/NQP-s0.pir Mon May 3 14:39:34 2010 (r46235)
@@ -15,7 +15,7 @@
### .include 'gen/nqp-grammar.pir'
.namespace []
-.sub "_block11" :anon :subid("10_1272455252.89365")
+.sub "_block11" :anon :subid("10_1272816833.94956")
.annotate "line", 0
get_hll_global $P14, ["NQP";"Grammar"], "_block13"
capture_lex $P14
@@ -29,9 +29,9 @@
.namespace []
-.sub "" :load :init :subid("post333") :outer("10_1272455252.89365")
+.sub "" :load :init :subid("post333") :outer("10_1272816833.94956")
.annotate "line", 0
- .const 'Sub' $P12 = "10_1272455252.89365"
+ .const 'Sub' $P12 = "10_1272816833.94956"
.local pmc block
set block, $P12
$P1305 = get_root_global ["parrot"], "P6metaclass"
@@ -40,295 +40,295 @@
.namespace ["NQP";"Grammar"]
-.sub "_block13" :subid("11_1272455252.89365") :outer("10_1272455252.89365")
+.sub "_block13" :subid("11_1272816833.94956") :outer("10_1272816833.94956")
.annotate "line", 4
get_hll_global $P1248, ["NQP";"Regex"], "_block1247"
capture_lex $P1248
- .const 'Sub' $P1234 = "319_1272455252.89365"
+ .const 'Sub' $P1234 = "319_1272816833.94956"
capture_lex $P1234
- .const 'Sub' $P1228 = "317_1272455252.89365"
+ .const 'Sub' $P1228 = "317_1272816833.94956"
capture_lex $P1228
- .const 'Sub' $P1222 = "315_1272455252.89365"
+ .const 'Sub' $P1222 = "315_1272816833.94956"
capture_lex $P1222
- .const 'Sub' $P1215 = "313_1272455252.89365"
+ .const 'Sub' $P1215 = "313_1272816833.94956"
capture_lex $P1215
- .const 'Sub' $P1208 = "311_1272455252.89365"
+ .const 'Sub' $P1208 = "311_1272816833.94956"
capture_lex $P1208
- .const 'Sub' $P1201 = "309_1272455252.89365"
+ .const 'Sub' $P1201 = "309_1272816833.94956"
capture_lex $P1201
- .const 'Sub' $P1194 = "307_1272455252.89365"
+ .const 'Sub' $P1194 = "307_1272816833.94956"
capture_lex $P1194
- .const 'Sub' $P1188 = "305_1272455252.89365"
+ .const 'Sub' $P1188 = "305_1272816833.94956"
capture_lex $P1188
- .const 'Sub' $P1181 = "303_1272455252.89365"
+ .const 'Sub' $P1181 = "303_1272816833.94956"
capture_lex $P1181
- .const 'Sub' $P1174 = "301_1272455252.89365"
+ .const 'Sub' $P1174 = "301_1272816833.94956"
capture_lex $P1174
- .const 'Sub' $P1167 = "299_1272455252.89365"
+ .const 'Sub' $P1167 = "299_1272816833.94956"
capture_lex $P1167
- .const 'Sub' $P1160 = "297_1272455252.89365"
+ .const 'Sub' $P1160 = "297_1272816833.94956"
capture_lex $P1160
- .const 'Sub' $P1153 = "295_1272455252.89365"
+ .const 'Sub' $P1153 = "295_1272816833.94956"
capture_lex $P1153
- .const 'Sub' $P1146 = "293_1272455252.89365"
+ .const 'Sub' $P1146 = "293_1272816833.94956"
capture_lex $P1146
- .const 'Sub' $P1139 = "291_1272455252.89365"
+ .const 'Sub' $P1139 = "291_1272816833.94956"
capture_lex $P1139
- .const 'Sub' $P1132 = "289_1272455252.89365"
+ .const 'Sub' $P1132 = "289_1272816833.94956"
capture_lex $P1132
- .const 'Sub' $P1125 = "287_1272455252.89365"
+ .const 'Sub' $P1125 = "287_1272816833.94956"
capture_lex $P1125
- .const 'Sub' $P1118 = "285_1272455252.89365"
+ .const 'Sub' $P1118 = "285_1272816833.94956"
capture_lex $P1118
- .const 'Sub' $P1111 = "283_1272455252.89365"
+ .const 'Sub' $P1111 = "283_1272816833.94956"
capture_lex $P1111
- .const 'Sub' $P1104 = "281_1272455252.89365"
+ .const 'Sub' $P1104 = "281_1272816833.94956"
capture_lex $P1104
- .const 'Sub' $P1097 = "279_1272455252.89365"
+ .const 'Sub' $P1097 = "279_1272816833.94956"
capture_lex $P1097
- .const 'Sub' $P1090 = "277_1272455252.89365"
+ .const 'Sub' $P1090 = "277_1272816833.94956"
capture_lex $P1090
- .const 'Sub' $P1083 = "275_1272455252.89365"
+ .const 'Sub' $P1083 = "275_1272816833.94956"
capture_lex $P1083
- .const 'Sub' $P1076 = "273_1272455252.89365"
+ .const 'Sub' $P1076 = "273_1272816833.94956"
capture_lex $P1076
- .const 'Sub' $P1069 = "271_1272455252.89365"
+ .const 'Sub' $P1069 = "271_1272816833.94956"
capture_lex $P1069
- .const 'Sub' $P1062 = "269_1272455252.89365"
+ .const 'Sub' $P1062 = "269_1272816833.94956"
capture_lex $P1062
- .const 'Sub' $P1055 = "267_1272455252.89365"
+ .const 'Sub' $P1055 = "267_1272816833.94956"
capture_lex $P1055
- .const 'Sub' $P1048 = "265_1272455252.89365"
+ .const 'Sub' $P1048 = "265_1272816833.94956"
capture_lex $P1048
- .const 'Sub' $P1041 = "263_1272455252.89365"
+ .const 'Sub' $P1041 = "263_1272816833.94956"
capture_lex $P1041
- .const 'Sub' $P1034 = "261_1272455252.89365"
+ .const 'Sub' $P1034 = "261_1272816833.94956"
capture_lex $P1034
- .const 'Sub' $P1027 = "259_1272455252.89365"
+ .const 'Sub' $P1027 = "259_1272816833.94956"
capture_lex $P1027
- .const 'Sub' $P1020 = "257_1272455252.89365"
+ .const 'Sub' $P1020 = "257_1272816833.94956"
capture_lex $P1020
- .const 'Sub' $P1013 = "255_1272455252.89365"
+ .const 'Sub' $P1013 = "255_1272816833.94956"
capture_lex $P1013
- .const 'Sub' $P1006 = "253_1272455252.89365"
+ .const 'Sub' $P1006 = "253_1272816833.94956"
capture_lex $P1006
- .const 'Sub' $P1000 = "251_1272455252.89365"
+ .const 'Sub' $P1000 = "251_1272816833.94956"
capture_lex $P1000
- .const 'Sub' $P993 = "249_1272455252.89365"
+ .const 'Sub' $P993 = "249_1272816833.94956"
capture_lex $P993
- .const 'Sub' $P986 = "247_1272455252.89365"
+ .const 'Sub' $P986 = "247_1272816833.94956"
capture_lex $P986
- .const 'Sub' $P979 = "245_1272455252.89365"
+ .const 'Sub' $P979 = "245_1272816833.94956"
capture_lex $P979
- .const 'Sub' $P972 = "243_1272455252.89365"
+ .const 'Sub' $P972 = "243_1272816833.94956"
capture_lex $P972
- .const 'Sub' $P965 = "241_1272455252.89365"
+ .const 'Sub' $P965 = "241_1272816833.94956"
capture_lex $P965
- .const 'Sub' $P958 = "239_1272455252.89365"
+ .const 'Sub' $P958 = "239_1272816833.94956"
capture_lex $P958
- .const 'Sub' $P951 = "237_1272455252.89365"
+ .const 'Sub' $P951 = "237_1272816833.94956"
capture_lex $P951
- .const 'Sub' $P945 = "235_1272455252.89365"
+ .const 'Sub' $P945 = "235_1272816833.94956"
capture_lex $P945
- .const 'Sub' $P939 = "233_1272455252.89365"
+ .const 'Sub' $P939 = "233_1272816833.94956"
capture_lex $P939
- .const 'Sub' $P934 = "231_1272455252.89365"
+ .const 'Sub' $P934 = "231_1272816833.94956"
capture_lex $P934
- .const 'Sub' $P928 = "229_1272455252.89365"
+ .const 'Sub' $P928 = "229_1272816833.94956"
capture_lex $P928
- .const 'Sub' $P922 = "227_1272455252.89365"
+ .const 'Sub' $P922 = "227_1272816833.94956"
capture_lex $P922
- .const 'Sub' $P917 = "225_1272455252.89365"
+ .const 'Sub' $P917 = "225_1272816833.94956"
capture_lex $P917
- .const 'Sub' $P912 = "223_1272455252.89365"
+ .const 'Sub' $P912 = "223_1272816833.94956"
capture_lex $P912
- .const 'Sub' $P905 = "221_1272455252.89365"
+ .const 'Sub' $P905 = "221_1272816833.94956"
capture_lex $P905
- .const 'Sub' $P897 = "219_1272455252.89365"
+ .const 'Sub' $P897 = "219_1272816833.94956"
capture_lex $P897
- .const 'Sub' $P892 = "217_1272455252.89365"
+ .const 'Sub' $P892 = "217_1272816833.94956"
capture_lex $P892
- .const 'Sub' $P887 = "215_1272455252.89365"
+ .const 'Sub' $P887 = "215_1272816833.94956"
capture_lex $P887
- .const 'Sub' $P882 = "213_1272455252.89365"
+ .const 'Sub' $P882 = "213_1272816833.94956"
capture_lex $P882
- .const 'Sub' $P874 = "211_1272455252.89365"
+ .const 'Sub' $P874 = "211_1272816833.94956"
capture_lex $P874
- .const 'Sub' $P866 = "209_1272455252.89365"
+ .const 'Sub' $P866 = "209_1272816833.94956"
capture_lex $P866
- .const 'Sub' $P861 = "207_1272455252.89365"
+ .const 'Sub' $P861 = "207_1272816833.94956"
capture_lex $P861
- .const 'Sub' $P856 = "205_1272455252.89365"
+ .const 'Sub' $P856 = "205_1272816833.94956"
capture_lex $P856
- .const 'Sub' $P851 = "203_1272455252.89365"
+ .const 'Sub' $P851 = "203_1272816833.94956"
capture_lex $P851
- .const 'Sub' $P845 = "201_1272455252.89365"
+ .const 'Sub' $P845 = "201_1272816833.94956"
capture_lex $P845
- .const 'Sub' $P839 = "199_1272455252.89365"
+ .const 'Sub' $P839 = "199_1272816833.94956"
capture_lex $P839
- .const 'Sub' $P833 = "197_1272455252.89365"
+ .const 'Sub' $P833 = "197_1272816833.94956"
capture_lex $P833
- .const 'Sub' $P827 = "195_1272455252.89365"
+ .const 'Sub' $P827 = "195_1272816833.94956"
capture_lex $P827
- .const 'Sub' $P821 = "193_1272455252.89365"
+ .const 'Sub' $P821 = "193_1272816833.94956"
capture_lex $P821
- .const 'Sub' $P816 = "191_1272455252.89365"
+ .const 'Sub' $P816 = "191_1272816833.94956"
capture_lex $P816
- .const 'Sub' $P811 = "189_1272455252.89365"
+ .const 'Sub' $P811 = "189_1272816833.94956"
capture_lex $P811
- .const 'Sub' $P798 = "185_1272455252.89365"
+ .const 'Sub' $P798 = "185_1272816833.94956"
capture_lex $P798
- .const 'Sub' $P790 = "183_1272455252.89365"
+ .const 'Sub' $P790 = "183_1272816833.94956"
capture_lex $P790
- .const 'Sub' $P784 = "181_1272455252.89365"
+ .const 'Sub' $P784 = "181_1272816833.94956"
capture_lex $P784
- .const 'Sub' $P777 = "179_1272455252.89365"
+ .const 'Sub' $P777 = "179_1272816833.94956"
capture_lex $P777
- .const 'Sub' $P771 = "177_1272455252.89365"
+ .const 'Sub' $P771 = "177_1272816833.94956"
capture_lex $P771
- .const 'Sub' $P763 = "175_1272455252.89365"
+ .const 'Sub' $P763 = "175_1272816833.94956"
capture_lex $P763
- .const 'Sub' $P755 = "173_1272455252.89365"
+ .const 'Sub' $P755 = "173_1272816833.94956"
capture_lex $P755
- .const 'Sub' $P749 = "171_1272455252.89365"
+ .const 'Sub' $P749 = "171_1272816833.94956"
capture_lex $P749
- .const 'Sub' $P743 = "169_1272455252.89365"
+ .const 'Sub' $P743 = "169_1272816833.94956"
capture_lex $P743
- .const 'Sub' $P728 = "165_1272455252.89365"
+ .const 'Sub' $P728 = "165_1272816833.94956"
capture_lex $P728
- .const 'Sub' $P691 = "163_1272455252.89365"
+ .const 'Sub' $P691 = "163_1272816833.94956"
capture_lex $P691
- .const 'Sub' $P683 = "161_1272455252.89365"
+ .const 'Sub' $P683 = "161_1272816833.94956"
capture_lex $P683
- .const 'Sub' $P677 = "159_1272455252.89365"
+ .const 'Sub' $P677 = "159_1272816833.94956"
capture_lex $P677
- .const 'Sub' $P667 = "157_1272455252.89365"
+ .const 'Sub' $P667 = "157_1272816833.94956"
capture_lex $P667
- .const 'Sub' $P652 = "155_1272455252.89365"
+ .const 'Sub' $P652 = "155_1272816833.94956"
capture_lex $P652
- .const 'Sub' $P643 = "153_1272455252.89365"
+ .const 'Sub' $P643 = "153_1272816833.94956"
capture_lex $P643
- .const 'Sub' $P624 = "151_1272455252.89365"
+ .const 'Sub' $P624 = "151_1272816833.94956"
capture_lex $P624
- .const 'Sub' $P600 = "149_1272455252.89365"
+ .const 'Sub' $P600 = "149_1272816833.94956"
capture_lex $P600
- .const 'Sub' $P593 = "147_1272455252.89365"
+ .const 'Sub' $P593 = "147_1272816833.94956"
capture_lex $P593
- .const 'Sub' $P586 = "145_1272455252.89365"
+ .const 'Sub' $P586 = "145_1272816833.94956"
capture_lex $P586
- .const 'Sub' $P576 = "141_1272455252.89365"
+ .const 'Sub' $P576 = "141_1272816833.94956"
capture_lex $P576
- .const 'Sub' $P565 = "139_1272455252.89365"
+ .const 'Sub' $P565 = "139_1272816833.94956"
capture_lex $P565
- .const 'Sub' $P558 = "137_1272455252.89365"
+ .const 'Sub' $P558 = "137_1272816833.94956"
capture_lex $P558
- .const 'Sub' $P551 = "135_1272455252.89365"
+ .const 'Sub' $P551 = "135_1272816833.94956"
capture_lex $P551
- .const 'Sub' $P544 = "133_1272455252.89365"
+ .const 'Sub' $P544 = "133_1272816833.94956"
capture_lex $P544
- .const 'Sub' $P517 = "129_1272455252.89365"
+ .const 'Sub' $P517 = "129_1272816833.94956"
capture_lex $P517
- .const 'Sub' $P508 = "127_1272455252.89365"
+ .const 'Sub' $P508 = "127_1272816833.94956"
capture_lex $P508
- .const 'Sub' $P501 = "125_1272455252.89365"
+ .const 'Sub' $P501 = "125_1272816833.94956"
capture_lex $P501
- .const 'Sub' $P492 = "121_1272455252.89365"
+ .const 'Sub' $P492 = "121_1272816833.94956"
capture_lex $P492
- .const 'Sub' $P487 = "119_1272455252.89365"
+ .const 'Sub' $P487 = "119_1272816833.94956"
capture_lex $P487
- .const 'Sub' $P475 = "117_1272455252.89365"
+ .const 'Sub' $P475 = "117_1272816833.94956"
capture_lex $P475
- .const 'Sub' $P463 = "115_1272455252.89365"
+ .const 'Sub' $P463 = "115_1272816833.94956"
capture_lex $P463
- .const 'Sub' $P455 = "113_1272455252.89365"
+ .const 'Sub' $P455 = "113_1272816833.94956"
capture_lex $P455
- .const 'Sub' $P450 = "111_1272455252.89365"
+ .const 'Sub' $P450 = "111_1272816833.94956"
capture_lex $P450
- .const 'Sub' $P444 = "109_1272455252.89365"
+ .const 'Sub' $P444 = "109_1272816833.94956"
capture_lex $P444
- .const 'Sub' $P438 = "107_1272455252.89365"
+ .const 'Sub' $P438 = "107_1272816833.94956"
capture_lex $P438
- .const 'Sub' $P432 = "105_1272455252.89365"
+ .const 'Sub' $P432 = "105_1272816833.94956"
capture_lex $P432
- .const 'Sub' $P426 = "103_1272455252.89365"
+ .const 'Sub' $P426 = "103_1272816833.94956"
capture_lex $P426
- .const 'Sub' $P420 = "101_1272455252.89365"
+ .const 'Sub' $P420 = "101_1272816833.94956"
capture_lex $P420
- .const 'Sub' $P414 = "99_1272455252.89365"
+ .const 'Sub' $P414 = "99_1272816833.94956"
capture_lex $P414
- .const 'Sub' $P408 = "97_1272455252.89365"
+ .const 'Sub' $P408 = "97_1272816833.94956"
capture_lex $P408
- .const 'Sub' $P402 = "95_1272455252.89365"
+ .const 'Sub' $P402 = "95_1272816833.94956"
capture_lex $P402
- .const 'Sub' $P394 = "93_1272455252.89365"
+ .const 'Sub' $P394 = "93_1272816833.94956"
capture_lex $P394
- .const 'Sub' $P386 = "91_1272455252.89365"
+ .const 'Sub' $P386 = "91_1272816833.94956"
capture_lex $P386
- .const 'Sub' $P374 = "87_1272455252.89365"
+ .const 'Sub' $P374 = "87_1272816833.94956"
capture_lex $P374
- .const 'Sub' $P366 = "85_1272455252.89365"
+ .const 'Sub' $P366 = "85_1272816833.94956"
capture_lex $P366
- .const 'Sub' $P356 = "81_1272455252.89365"
+ .const 'Sub' $P356 = "81_1272816833.94956"
capture_lex $P356
- .const 'Sub' $P349 = "79_1272455252.89365"
+ .const 'Sub' $P349 = "79_1272816833.94956"
capture_lex $P349
- .const 'Sub' $P342 = "77_1272455252.89365"
+ .const 'Sub' $P342 = "77_1272816833.94956"
capture_lex $P342
- .const 'Sub' $P330 = "73_1272455252.89365"
+ .const 'Sub' $P330 = "73_1272816833.94956"
capture_lex $P330
- .const 'Sub' $P322 = "71_1272455252.89365"
+ .const 'Sub' $P322 = "71_1272816833.94956"
capture_lex $P322
- .const 'Sub' $P314 = "69_1272455252.89365"
+ .const 'Sub' $P314 = "69_1272816833.94956"
capture_lex $P314
- .const 'Sub' $P294 = "67_1272455252.89365"
+ .const 'Sub' $P294 = "67_1272816833.94956"
capture_lex $P294
- .const 'Sub' $P285 = "65_1272455252.89365"
+ .const 'Sub' $P285 = "65_1272816833.94956"
capture_lex $P285
- .const 'Sub' $P267 = "62_1272455252.89365"
+ .const 'Sub' $P267 = "62_1272816833.94956"
capture_lex $P267
- .const 'Sub' $P247 = "60_1272455252.89365"
+ .const 'Sub' $P247 = "60_1272816833.94956"
capture_lex $P247
- .const 'Sub' $P238 = "56_1272455252.89365"
+ .const 'Sub' $P238 = "56_1272816833.94956"
capture_lex $P238
- .const 'Sub' $P233 = "54_1272455252.89365"
+ .const 'Sub' $P233 = "54_1272816833.94956"
capture_lex $P233
- .const 'Sub' $P224 = "50_1272455252.89365"
+ .const 'Sub' $P224 = "50_1272816833.94956"
capture_lex $P224
- .const 'Sub' $P219 = "48_1272455252.89365"
+ .const 'Sub' $P219 = "48_1272816833.94956"
capture_lex $P219
- .const 'Sub' $P211 = "46_1272455252.89365"
+ .const 'Sub' $P211 = "46_1272816833.94956"
capture_lex $P211
- .const 'Sub' $P204 = "44_1272455252.89365"
+ .const 'Sub' $P204 = "44_1272816833.94956"
capture_lex $P204
- .const 'Sub' $P198 = "42_1272455252.89365"
+ .const 'Sub' $P198 = "42_1272816833.94956"
capture_lex $P198
- .const 'Sub' $P190 = "40_1272455252.89365"
+ .const 'Sub' $P190 = "40_1272816833.94956"
capture_lex $P190
- .const 'Sub' $P184 = "38_1272455252.89365"
+ .const 'Sub' $P184 = "38_1272816833.94956"
capture_lex $P184
- .const 'Sub' $P178 = "36_1272455252.89365"
+ .const 'Sub' $P178 = "36_1272816833.94956"
capture_lex $P178
- .const 'Sub' $P162 = "33_1272455252.89365"
+ .const 'Sub' $P162 = "33_1272816833.94956"
capture_lex $P162
- .const 'Sub' $P149 = "31_1272455252.89365"
+ .const 'Sub' $P149 = "31_1272816833.94956"
capture_lex $P149
- .const 'Sub' $P142 = "29_1272455252.89365"
+ .const 'Sub' $P142 = "29_1272816833.94956"
capture_lex $P142
- .const 'Sub' $P96 = "26_1272455252.89365"
+ .const 'Sub' $P96 = "26_1272816833.94956"
capture_lex $P96
- .const 'Sub' $P78 = "23_1272455252.89365"
+ .const 'Sub' $P78 = "23_1272816833.94956"
capture_lex $P78
- .const 'Sub' $P68 = "21_1272455252.89365"
+ .const 'Sub' $P68 = "21_1272816833.94956"
capture_lex $P68
- .const 'Sub' $P54 = "19_1272455252.89365"
+ .const 'Sub' $P54 = "19_1272816833.94956"
capture_lex $P54
- .const 'Sub' $P46 = "17_1272455252.89365"
+ .const 'Sub' $P46 = "17_1272816833.94956"
capture_lex $P46
- .const 'Sub' $P39 = "15_1272455252.89365"
+ .const 'Sub' $P39 = "15_1272816833.94956"
capture_lex $P39
- .const 'Sub' $P33 = "13_1272455252.89365"
+ .const 'Sub' $P33 = "13_1272816833.94956"
capture_lex $P33
- .const 'Sub' $P15 = "12_1272455252.89365"
+ .const 'Sub' $P15 = "12_1272816833.94956"
capture_lex $P15
.annotate "line", 536
get_hll_global $P1248, ["NQP";"Regex"], "_block1247"
@@ -340,7 +340,7 @@
.namespace ["NQP";"Grammar"]
-.sub "" :load :init :subid("post334") :outer("11_1272455252.89365")
+.sub "" :load :init :subid("post334") :outer("11_1272816833.94956")
.annotate "line", 4
get_hll_global $P14, ["NQP";"Grammar"], "_block13"
.local pmc block
@@ -397,7 +397,7 @@
.namespace ["NQP";"Grammar"]
-.sub "TOP" :subid("12_1272455252.89365") :method :outer("11_1272455252.89365")
+.sub "TOP" :subid("12_1272816833.94956") :method :outer("11_1272816833.94956")
.annotate "line", 4
new $P17, 'ExceptionHandler'
set_addr $P17, control_16
@@ -480,7 +480,7 @@
.namespace ["NQP";"Grammar"]
-.sub "identifier" :subid("13_1272455252.89365") :method :outer("11_1272455252.89365")
+.sub "identifier" :subid("13_1272816833.94956") :method :outer("11_1272816833.94956")
.annotate "line", 4
.local string rx34_tgt
.local int rx34_pos
@@ -538,7 +538,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__identifier" :subid("14_1272455252.89365") :method
+.sub "!PREFIX__identifier" :subid("14_1272816833.94956") :method
.annotate "line", 4
$P36 = self."!PREFIX__!subrule"("ident", "")
new $P37, "ResizablePMCArray"
@@ -548,7 +548,7 @@
.namespace ["NQP";"Grammar"]
-.sub "name" :subid("15_1272455252.89365") :method :outer("11_1272455252.89365")
+.sub "name" :subid("15_1272816833.94956") :method :outer("11_1272816833.94956")
.annotate "line", 4
.local string rx40_tgt
.local int rx40_pos
@@ -622,7 +622,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__name" :subid("16_1272455252.89365") :method
+.sub "!PREFIX__name" :subid("16_1272816833.94956") :method
.annotate "line", 4
new $P42, "ResizablePMCArray"
push $P42, ""
@@ -631,7 +631,7 @@
.namespace ["NQP";"Grammar"]
-.sub "deflongname" :subid("17_1272455252.89365") :method :outer("11_1272455252.89365")
+.sub "deflongname" :subid("17_1272816833.94956") :method :outer("11_1272816833.94956")
.annotate "line", 4
.local string rx47_tgt
.local int rx47_pos
@@ -704,7 +704,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__deflongname" :subid("18_1272455252.89365") :method
+.sub "!PREFIX__deflongname" :subid("18_1272816833.94956") :method
.annotate "line", 4
$P49 = self."!PREFIX__!subrule"("identifier", "")
new $P50, "ResizablePMCArray"
@@ -714,7 +714,7 @@
.namespace ["NQP";"Grammar"]
-.sub "ENDSTMT" :subid("19_1272455252.89365") :method :outer("11_1272455252.89365")
+.sub "ENDSTMT" :subid("19_1272816833.94956") :method :outer("11_1272816833.94956")
.annotate "line", 4
.local string rx55_tgt
.local int rx55_pos
@@ -846,7 +846,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__ENDSTMT" :subid("20_1272455252.89365") :method
+.sub "!PREFIX__ENDSTMT" :subid("20_1272816833.94956") :method
.annotate "line", 4
new $P57, "ResizablePMCArray"
push $P57, ""
@@ -855,7 +855,7 @@
.namespace ["NQP";"Grammar"]
-.sub "ws" :subid("21_1272455252.89365") :method :outer("11_1272455252.89365")
+.sub "ws" :subid("21_1272816833.94956") :method :outer("11_1272816833.94956")
.annotate "line", 4
.local string rx69_tgt
.local int rx69_pos
@@ -981,7 +981,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__ws" :subid("22_1272455252.89365") :method
+.sub "!PREFIX__ws" :subid("22_1272816833.94956") :method
.annotate "line", 4
new $P71, "ResizablePMCArray"
push $P71, ""
@@ -991,9 +991,9 @@
.namespace ["NQP";"Grammar"]
-.sub "unv" :subid("23_1272455252.89365") :method :outer("11_1272455252.89365")
+.sub "unv" :subid("23_1272816833.94956") :method :outer("11_1272816833.94956")
.annotate "line", 4
- .const 'Sub' $P86 = "25_1272455252.89365"
+ .const 'Sub' $P86 = "25_1272816833.94956"
capture_lex $P86
.local string rx79_tgt
.local int rx79_pos
@@ -1039,7 +1039,7 @@
rxanchor84_done:
# rx subrule "before" subtype=zerowidth negate=
rx79_cur."!cursor_pos"(rx79_pos)
- .const 'Sub' $P86 = "25_1272455252.89365"
+ .const 'Sub' $P86 = "25_1272816833.94956"
capture_lex $P86
$P10 = rx79_cur."before"($P86)
unless $P10, rx79_fail
@@ -1118,7 +1118,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__unv" :subid("24_1272455252.89365") :method
+.sub "!PREFIX__unv" :subid("24_1272816833.94956") :method
.annotate "line", 4
new $P81, "ResizablePMCArray"
push $P81, ""
@@ -1129,7 +1129,7 @@
.namespace ["NQP";"Grammar"]
-.sub "_block85" :anon :subid("25_1272455252.89365") :method :outer("23_1272455252.89365")
+.sub "_block85" :anon :subid("25_1272816833.94956") :method :outer("23_1272816833.94956")
.annotate "line", 44
.local string rx87_tgt
.local int rx87_pos
@@ -1219,9 +1219,9 @@
.namespace ["NQP";"Grammar"]
-.sub "pod_comment" :subid("26_1272455252.89365") :method :outer("11_1272455252.89365")
+.sub "pod_comment" :subid("26_1272816833.94956") :method :outer("11_1272816833.94956")
.annotate "line", 4
- .const 'Sub' $P133 = "28_1272455252.89365"
+ .const 'Sub' $P133 = "28_1272816833.94956"
capture_lex $P133
.local string rx97_tgt
.local int rx97_pos
@@ -1677,7 +1677,7 @@
rxanchor131_done:
# rx subrule "before" subtype=zerowidth negate=
rx97_cur."!cursor_pos"(rx97_pos)
- .const 'Sub' $P133 = "28_1272455252.89365"
+ .const 'Sub' $P133 = "28_1272816833.94956"
capture_lex $P133
$P10 = rx97_cur."before"($P133)
unless $P10, rx97_fail
@@ -1728,7 +1728,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__pod_comment" :subid("27_1272455252.89365") :method
+.sub "!PREFIX__pod_comment" :subid("27_1272816833.94956") :method
.annotate "line", 4
new $P99, "ResizablePMCArray"
push $P99, ""
@@ -1737,7 +1737,7 @@
.namespace ["NQP";"Grammar"]
-.sub "_block132" :anon :subid("28_1272455252.89365") :method :outer("26_1272455252.89365")
+.sub "_block132" :anon :subid("28_1272816833.94956") :method :outer("26_1272816833.94956")
.annotate "line", 67
.local string rx134_tgt
.local int rx134_pos
@@ -1856,7 +1856,7 @@
.namespace ["NQP";"Grammar"]
-.sub "comp_unit" :subid("29_1272455252.89365") :method :outer("11_1272455252.89365")
+.sub "comp_unit" :subid("29_1272816833.94956") :method :outer("11_1272816833.94956")
.annotate "line", 4
.local string rx143_tgt
.local int rx143_pos
@@ -1935,7 +1935,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__comp_unit" :subid("30_1272455252.89365") :method
+.sub "!PREFIX__comp_unit" :subid("30_1272816833.94956") :method
.annotate "line", 4
$P145 = self."!PREFIX__!subrule"("", "")
new $P146, "ResizablePMCArray"
@@ -1945,7 +1945,7 @@
.namespace ["NQP";"Grammar"]
-.sub "statementlist" :subid("31_1272455252.89365") :method :outer("11_1272455252.89365")
+.sub "statementlist" :subid("31_1272816833.94956") :method :outer("11_1272816833.94956")
.annotate "line", 4
.local string rx150_tgt
.local int rx150_pos
@@ -2053,7 +2053,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statementlist" :subid("32_1272455252.89365") :method
+.sub "!PREFIX__statementlist" :subid("32_1272816833.94956") :method
.annotate "line", 4
new $P152, "ResizablePMCArray"
push $P152, ""
@@ -2063,9 +2063,9 @@
.namespace ["NQP";"Grammar"]
-.sub "statement" :subid("33_1272455252.89365") :method :outer("11_1272455252.89365")
+.sub "statement" :subid("33_1272816833.94956") :method :outer("11_1272816833.94956")
.annotate "line", 4
- .const 'Sub' $P168 = "35_1272455252.89365"
+ .const 'Sub' $P168 = "35_1272816833.94956"
capture_lex $P168
.local string rx163_tgt
.local int rx163_pos
@@ -2100,7 +2100,7 @@
.annotate "line", 93
# rx subrule "before" subtype=zerowidth negate=1
rx163_cur."!cursor_pos"(rx163_pos)
- .const 'Sub' $P168 = "35_1272455252.89365"
+ .const 'Sub' $P168 = "35_1272816833.94956"
capture_lex $P168
$P10 = rx163_cur."before"($P168)
if $P10, rx163_fail
@@ -2205,7 +2205,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement" :subid("34_1272455252.89365") :method
+.sub "!PREFIX__statement" :subid("34_1272816833.94956") :method
.annotate "line", 4
new $P165, "ResizablePMCArray"
push $P165, ""
@@ -2214,7 +2214,7 @@
.namespace ["NQP";"Grammar"]
-.sub "_block167" :anon :subid("35_1272455252.89365") :method :outer("33_1272455252.89365")
+.sub "_block167" :anon :subid("35_1272816833.94956") :method :outer("33_1272816833.94956")
.annotate "line", 93
.local string rx169_tgt
.local int rx169_pos
@@ -2278,7 +2278,7 @@
.namespace ["NQP";"Grammar"]
-.sub "eat_terminator" :subid("36_1272455252.89365") :method :outer("11_1272455252.89365")
+.sub "eat_terminator" :subid("36_1272816833.94956") :method :outer("11_1272816833.94956")
.annotate "line", 4
.local string rx179_tgt
.local int rx179_pos
@@ -2365,7 +2365,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__eat_terminator" :subid("37_1272455252.89365") :method
+.sub "!PREFIX__eat_terminator" :subid("37_1272816833.94956") :method
.annotate "line", 4
new $P181, "ResizablePMCArray"
push $P181, ""
@@ -2377,7 +2377,7 @@
.namespace ["NQP";"Grammar"]
-.sub "xblock" :subid("38_1272455252.89365") :method :outer("11_1272455252.89365")
+.sub "xblock" :subid("38_1272816833.94956") :method :outer("11_1272816833.94956")
.annotate "line", 4
.local string rx185_tgt
.local int rx185_pos
@@ -2448,7 +2448,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__xblock" :subid("39_1272455252.89365") :method
+.sub "!PREFIX__xblock" :subid("39_1272816833.94956") :method
.annotate "line", 4
$P187 = self."!PREFIX__!subrule"("EXPR", "")
new $P188, "ResizablePMCArray"
@@ -2458,7 +2458,7 @@
.namespace ["NQP";"Grammar"]
-.sub "pblock" :subid("40_1272455252.89365") :method :outer("11_1272455252.89365")
+.sub "pblock" :subid("40_1272816833.94956") :method :outer("11_1272816833.94956")
.annotate "line", 4
.local string rx191_tgt
.local int rx191_pos
@@ -2577,7 +2577,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__pblock" :subid("41_1272455252.89365") :method
+.sub "!PREFIX__pblock" :subid("41_1272816833.94956") :method
.annotate "line", 4
$P193 = self."!PREFIX__!subrule"("", "")
$P194 = self."!PREFIX__!subrule"("", "")
@@ -2590,7 +2590,7 @@
.namespace ["NQP";"Grammar"]
-.sub "lambda" :subid("42_1272455252.89365") :method :outer("11_1272455252.89365")
+.sub "lambda" :subid("42_1272816833.94956") :method :outer("11_1272816833.94956")
.annotate "line", 4
.local string rx199_tgt
.local int rx199_pos
@@ -2661,7 +2661,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__lambda" :subid("43_1272455252.89365") :method
+.sub "!PREFIX__lambda" :subid("43_1272816833.94956") :method
.annotate "line", 4
new $P201, "ResizablePMCArray"
push $P201, "<->"
@@ -2671,7 +2671,7 @@
.namespace ["NQP";"Grammar"]
-.sub "block" :subid("44_1272455252.89365") :method :outer("11_1272455252.89365")
+.sub "block" :subid("44_1272816833.94956") :method :outer("11_1272816833.94956")
.annotate "line", 4
.local string rx205_tgt
.local int rx205_pos
@@ -2754,7 +2754,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__block" :subid("45_1272455252.89365") :method
+.sub "!PREFIX__block" :subid("45_1272816833.94956") :method
.annotate "line", 4
$P207 = self."!PREFIX__!subrule"("", "")
new $P208, "ResizablePMCArray"
@@ -2765,7 +2765,7 @@
.namespace ["NQP";"Grammar"]
-.sub "blockoid" :subid("46_1272455252.89365") :method :outer("11_1272455252.89365")
+.sub "blockoid" :subid("46_1272816833.94956") :method :outer("11_1272816833.94956")
.annotate "line", 4
.local string rx212_tgt
.local int rx212_pos
@@ -2860,7 +2860,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__blockoid" :subid("47_1272455252.89365") :method
+.sub "!PREFIX__blockoid" :subid("47_1272816833.94956") :method
.annotate "line", 4
$P214 = self."!PREFIX__!subrule"("", "")
new $P215, "ResizablePMCArray"
@@ -2870,7 +2870,7 @@
.namespace ["NQP";"Grammar"]
-.sub "newpad" :subid("48_1272455252.89365") :method :outer("11_1272455252.89365")
+.sub "newpad" :subid("48_1272816833.94956") :method :outer("11_1272816833.94956")
.annotate "line", 4
.local string rx220_tgt
.local int rx220_pos
@@ -2921,7 +2921,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__newpad" :subid("49_1272455252.89365") :method
+.sub "!PREFIX__newpad" :subid("49_1272816833.94956") :method
.annotate "line", 4
new $P222, "ResizablePMCArray"
push $P222, ""
@@ -2930,7 +2930,7 @@
.namespace ["NQP";"Grammar"]
-.sub "finishpad" :subid("50_1272455252.89365") :method :outer("11_1272455252.89365")
+.sub "finishpad" :subid("50_1272816833.94956") :method :outer("11_1272816833.94956")
.annotate "line", 4
.local string rx225_tgt
.local int rx225_pos
@@ -2981,7 +2981,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__finishpad" :subid("51_1272455252.89365") :method
+.sub "!PREFIX__finishpad" :subid("51_1272816833.94956") :method
.annotate "line", 4
new $P227, "ResizablePMCArray"
push $P227, ""
@@ -2990,7 +2990,7 @@
.namespace ["NQP";"Grammar"]
-.sub "terminator" :subid("52_1272455252.89365") :method
+.sub "terminator" :subid("52_1272816833.94956") :method
.annotate "line", 144
$P230 = self."!protoregex"("terminator")
.return ($P230)
@@ -2998,7 +2998,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__terminator" :subid("53_1272455252.89365") :method
+.sub "!PREFIX__terminator" :subid("53_1272816833.94956") :method
.annotate "line", 144
$P232 = self."!PREFIX__!protoregex"("terminator")
.return ($P232)
@@ -3006,7 +3006,7 @@
.namespace ["NQP";"Grammar"]
-.sub "terminator:sym<;>" :subid("54_1272455252.89365") :method :outer("11_1272455252.89365")
+.sub "terminator:sym<;>" :subid("54_1272816833.94956") :method :outer("11_1272816833.94956")
.annotate "line", 4
.local string rx234_tgt
.local int rx234_pos
@@ -3063,7 +3063,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__terminator:sym<;>" :subid("55_1272455252.89365") :method
+.sub "!PREFIX__terminator:sym<;>" :subid("55_1272816833.94956") :method
.annotate "line", 4
new $P236, "ResizablePMCArray"
push $P236, ";"
@@ -3072,7 +3072,7 @@
.namespace ["NQP";"Grammar"]
-.sub "terminator:sym<}>" :subid("56_1272455252.89365") :method :outer("11_1272455252.89365")
+.sub "terminator:sym<}>" :subid("56_1272816833.94956") :method :outer("11_1272816833.94956")
.annotate "line", 4
.local string rx239_tgt
.local int rx239_pos
@@ -3129,7 +3129,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__terminator:sym<}>" :subid("57_1272455252.89365") :method
+.sub "!PREFIX__terminator:sym<}>" :subid("57_1272816833.94956") :method
.annotate "line", 4
new $P241, "ResizablePMCArray"
push $P241, "}"
@@ -3138,7 +3138,7 @@
.namespace ["NQP";"Grammar"]
-.sub "statement_control" :subid("58_1272455252.89365") :method
+.sub "statement_control" :subid("58_1272816833.94956") :method
.annotate "line", 151
$P244 = self."!protoregex"("statement_control")
.return ($P244)
@@ -3146,7 +3146,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_control" :subid("59_1272455252.89365") :method
+.sub "!PREFIX__statement_control" :subid("59_1272816833.94956") :method
.annotate "line", 151
$P246 = self."!PREFIX__!protoregex"("statement_control")
.return ($P246)
@@ -3154,7 +3154,7 @@
.namespace ["NQP";"Grammar"]
-.sub "statement_control:sym<if>" :subid("60_1272455252.89365") :method :outer("11_1272455252.89365")
+.sub "statement_control:sym<if>" :subid("60_1272816833.94956") :method :outer("11_1272816833.94956")
.annotate "line", 4
.local string rx248_tgt
.local int rx248_pos
@@ -3348,7 +3348,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_control:sym<if>" :subid("61_1272455252.89365") :method
+.sub "!PREFIX__statement_control:sym<if>" :subid("61_1272816833.94956") :method
.annotate "line", 4
new $P250, "ResizablePMCArray"
push $P250, "if"
@@ -3357,9 +3357,9 @@
.namespace ["NQP";"Grammar"]
-.sub "statement_control:sym<unless>" :subid("62_1272455252.89365") :method :outer("11_1272455252.89365")
+.sub "statement_control:sym<unless>" :subid("62_1272816833.94956") :method :outer("11_1272816833.94956")
.annotate "line", 4
- .const 'Sub' $P278 = "64_1272455252.89365"
+ .const 'Sub' $P278 = "64_1272816833.94956"
capture_lex $P278
.local string rx268_tgt
.local int rx268_pos
@@ -3447,7 +3447,7 @@
rx268_pos = $P10."pos"()
# rx subrule "before" subtype=zerowidth negate=1
rx268_cur."!cursor_pos"(rx268_pos)
- .const 'Sub' $P278 = "64_1272455252.89365"
+ .const 'Sub' $P278 = "64_1272816833.94956"
capture_lex $P278
$P10 = rx268_cur."before"($P278)
if $P10, rx268_fail
@@ -3499,7 +3499,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_control:sym<unless>" :subid("63_1272455252.89365") :method
+.sub "!PREFIX__statement_control:sym<unless>" :subid("63_1272816833.94956") :method
.annotate "line", 4
new $P270, "ResizablePMCArray"
push $P270, "unless"
@@ -3508,7 +3508,7 @@
.namespace ["NQP";"Grammar"]
-.sub "_block277" :anon :subid("64_1272455252.89365") :method :outer("62_1272455252.89365")
+.sub "_block277" :anon :subid("64_1272816833.94956") :method :outer("62_1272816833.94956")
.annotate "line", 163
.local string rx279_tgt
.local int rx279_pos
@@ -3564,7 +3564,7 @@
.namespace ["NQP";"Grammar"]
-.sub "statement_control:sym<while>" :subid("65_1272455252.89365") :method :outer("11_1272455252.89365")
+.sub "statement_control:sym<while>" :subid("65_1272816833.94956") :method :outer("11_1272816833.94956")
.annotate "line", 4
.local string rx286_tgt
.local int rx286_pos
@@ -3674,7 +3674,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_control:sym<while>" :subid("66_1272455252.89365") :method
+.sub "!PREFIX__statement_control:sym<while>" :subid("66_1272816833.94956") :method
.annotate "line", 4
new $P288, "ResizablePMCArray"
push $P288, "until"
@@ -3684,7 +3684,7 @@
.namespace ["NQP";"Grammar"]
-.sub "statement_control:sym<repeat>" :subid("67_1272455252.89365") :method :outer("11_1272455252.89365")
+.sub "statement_control:sym<repeat>" :subid("67_1272816833.94956") :method :outer("11_1272816833.94956")
.annotate "line", 4
.local string rx295_tgt
.local int rx295_pos
@@ -3919,7 +3919,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_control:sym<repeat>" :subid("68_1272455252.89365") :method
+.sub "!PREFIX__statement_control:sym<repeat>" :subid("68_1272816833.94956") :method
.annotate "line", 4
new $P297, "ResizablePMCArray"
push $P297, "repeat"
@@ -3928,7 +3928,7 @@
.namespace ["NQP";"Grammar"]
-.sub "statement_control:sym<for>" :subid("69_1272455252.89365") :method :outer("11_1272455252.89365")
+.sub "statement_control:sym<for>" :subid("69_1272816833.94956") :method :outer("11_1272816833.94956")
.annotate "line", 4
.local string rx315_tgt
.local int rx315_pos
@@ -4025,7 +4025,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_control:sym<for>" :subid("70_1272455252.89365") :method
+.sub "!PREFIX__statement_control:sym<for>" :subid("70_1272816833.94956") :method
.annotate "line", 4
new $P317, "ResizablePMCArray"
push $P317, "for"
@@ -4034,7 +4034,7 @@
.namespace ["NQP";"Grammar"]
-.sub "statement_control:sym<CATCH>" :subid("71_1272455252.89365") :method :outer("11_1272455252.89365")
+.sub "statement_control:sym<CATCH>" :subid("71_1272816833.94956") :method :outer("11_1272816833.94956")
.annotate "line", 4
.local string rx323_tgt
.local int rx323_pos
@@ -4131,7 +4131,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_control:sym<CATCH>" :subid("72_1272455252.89365") :method
+.sub "!PREFIX__statement_control:sym<CATCH>" :subid("72_1272816833.94956") :method
.annotate "line", 4
new $P325, "ResizablePMCArray"
push $P325, "CATCH"
@@ -4140,7 +4140,7 @@
.namespace ["NQP";"Grammar"]
-.sub "statement_control:sym<CONTROL>" :subid("73_1272455252.89365") :method :outer("11_1272455252.89365")
+.sub "statement_control:sym<CONTROL>" :subid("73_1272816833.94956") :method :outer("11_1272816833.94956")
.annotate "line", 4
.local string rx331_tgt
.local int rx331_pos
@@ -4237,7 +4237,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_control:sym<CONTROL>" :subid("74_1272455252.89365") :method
+.sub "!PREFIX__statement_control:sym<CONTROL>" :subid("74_1272816833.94956") :method
.annotate "line", 4
new $P333, "ResizablePMCArray"
push $P333, "CONTROL"
@@ -4246,7 +4246,7 @@
.namespace ["NQP";"Grammar"]
-.sub "statement_prefix" :subid("75_1272455252.89365") :method
+.sub "statement_prefix" :subid("75_1272816833.94956") :method
.annotate "line", 194
$P339 = self."!protoregex"("statement_prefix")
.return ($P339)
@@ -4254,7 +4254,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_prefix" :subid("76_1272455252.89365") :method
+.sub "!PREFIX__statement_prefix" :subid("76_1272816833.94956") :method
.annotate "line", 194
$P341 = self."!PREFIX__!protoregex"("statement_prefix")
.return ($P341)
@@ -4262,7 +4262,7 @@
.namespace ["NQP";"Grammar"]
-.sub "statement_prefix:sym<INIT>" :subid("77_1272455252.89365") :method :outer("11_1272455252.89365")
+.sub "statement_prefix:sym<INIT>" :subid("77_1272816833.94956") :method :outer("11_1272816833.94956")
.annotate "line", 4
.local string rx343_tgt
.local int rx343_pos
@@ -4341,7 +4341,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_prefix:sym<INIT>" :subid("78_1272455252.89365") :method
+.sub "!PREFIX__statement_prefix:sym<INIT>" :subid("78_1272816833.94956") :method
.annotate "line", 4
$P345 = self."!PREFIX__!subrule"("blorst", "INIT")
new $P346, "ResizablePMCArray"
@@ -4351,7 +4351,7 @@
.namespace ["NQP";"Grammar"]
-.sub "statement_prefix:sym<try>" :subid("79_1272455252.89365") :method :outer("11_1272455252.89365")
+.sub "statement_prefix:sym<try>" :subid("79_1272816833.94956") :method :outer("11_1272816833.94956")
.annotate "line", 4
.local string rx350_tgt
.local int rx350_pos
@@ -4432,7 +4432,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_prefix:sym<try>" :subid("80_1272455252.89365") :method
+.sub "!PREFIX__statement_prefix:sym<try>" :subid("80_1272816833.94956") :method
.annotate "line", 4
$P352 = self."!PREFIX__!subrule"("blorst", "try")
new $P353, "ResizablePMCArray"
@@ -4442,7 +4442,7 @@
.namespace ["NQP";"Grammar"]
-.sub "blorst" :subid("81_1272455252.89365") :method :outer("11_1272455252.89365")
+.sub "blorst" :subid("81_1272816833.94956") :method :outer("11_1272816833.94956")
.annotate "line", 4
.local string rx357_tgt
.local int rx357_pos
@@ -4531,7 +4531,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__blorst" :subid("82_1272455252.89365") :method
+.sub "!PREFIX__blorst" :subid("82_1272816833.94956") :method
.annotate "line", 4
new $P359, "ResizablePMCArray"
push $P359, ""
@@ -4540,7 +4540,7 @@
.namespace ["NQP";"Grammar"]
-.sub "statement_mod_cond" :subid("83_1272455252.89365") :method
+.sub "statement_mod_cond" :subid("83_1272816833.94956") :method
.annotate "line", 208
$P363 = self."!protoregex"("statement_mod_cond")
.return ($P363)
@@ -4548,7 +4548,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_mod_cond" :subid("84_1272455252.89365") :method
+.sub "!PREFIX__statement_mod_cond" :subid("84_1272816833.94956") :method
.annotate "line", 208
$P365 = self."!PREFIX__!protoregex"("statement_mod_cond")
.return ($P365)
@@ -4556,7 +4556,7 @@
.namespace ["NQP";"Grammar"]
-.sub "statement_mod_cond:sym<if>" :subid("85_1272455252.89365") :method :outer("11_1272455252.89365")
+.sub "statement_mod_cond:sym<if>" :subid("85_1272816833.94956") :method :outer("11_1272816833.94956")
.annotate "line", 4
.local string rx367_tgt
.local int rx367_pos
@@ -4645,7 +4645,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_mod_cond:sym<if>" :subid("86_1272455252.89365") :method
+.sub "!PREFIX__statement_mod_cond:sym<if>" :subid("86_1272816833.94956") :method
.annotate "line", 4
new $P369, "ResizablePMCArray"
push $P369, "if"
@@ -4654,7 +4654,7 @@
.namespace ["NQP";"Grammar"]
-.sub "statement_mod_cond:sym<unless>" :subid("87_1272455252.89365") :method :outer("11_1272455252.89365")
+.sub "statement_mod_cond:sym<unless>" :subid("87_1272816833.94956") :method :outer("11_1272816833.94956")
.annotate "line", 4
.local string rx375_tgt
.local int rx375_pos
@@ -4743,7 +4743,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_mod_cond:sym<unless>" :subid("88_1272455252.89365") :method
+.sub "!PREFIX__statement_mod_cond:sym<unless>" :subid("88_1272816833.94956") :method
.annotate "line", 4
new $P377, "ResizablePMCArray"
push $P377, "unless"
@@ -4752,7 +4752,7 @@
.namespace ["NQP";"Grammar"]
-.sub "statement_mod_loop" :subid("89_1272455252.89365") :method
+.sub "statement_mod_loop" :subid("89_1272816833.94956") :method
.annotate "line", 213
$P383 = self."!protoregex"("statement_mod_loop")
.return ($P383)
@@ -4760,7 +4760,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_mod_loop" :subid("90_1272455252.89365") :method
+.sub "!PREFIX__statement_mod_loop" :subid("90_1272816833.94956") :method
.annotate "line", 213
$P385 = self."!PREFIX__!protoregex"("statement_mod_loop")
.return ($P385)
@@ -4768,7 +4768,7 @@
.namespace ["NQP";"Grammar"]
-.sub "statement_mod_loop:sym<while>" :subid("91_1272455252.89365") :method :outer("11_1272455252.89365")
+.sub "statement_mod_loop:sym<while>" :subid("91_1272816833.94956") :method :outer("11_1272816833.94956")
.annotate "line", 4
.local string rx387_tgt
.local int rx387_pos
@@ -4857,7 +4857,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_mod_loop:sym<while>" :subid("92_1272455252.89365") :method
+.sub "!PREFIX__statement_mod_loop:sym<while>" :subid("92_1272816833.94956") :method
.annotate "line", 4
new $P389, "ResizablePMCArray"
push $P389, "while"
@@ -4866,7 +4866,7 @@
.namespace ["NQP";"Grammar"]
-.sub "statement_mod_loop:sym<until>" :subid("93_1272455252.89365") :method :outer("11_1272455252.89365")
+.sub "statement_mod_loop:sym<until>" :subid("93_1272816833.94956") :method :outer("11_1272816833.94956")
.annotate "line", 4
.local string rx395_tgt
.local int rx395_pos
@@ -4955,7 +4955,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__statement_mod_loop:sym<until>" :subid("94_1272455252.89365") :method
+.sub "!PREFIX__statement_mod_loop:sym<until>" :subid("94_1272816833.94956") :method
.annotate "line", 4
new $P397, "ResizablePMCArray"
push $P397, "until"
@@ -4964,7 +4964,7 @@
.namespace ["NQP";"Grammar"]
-.sub "term:sym<fatarrow>" :subid("95_1272455252.89365") :method :outer("11_1272455252.89365")
+.sub "term:sym<fatarrow>" :subid("95_1272816833.94956") :method :outer("11_1272816833.94956")
.annotate "line", 4
.local string rx403_tgt
.local int rx403_pos
@@ -5022,7 +5022,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<fatarrow>" :subid("96_1272455252.89365") :method
+.sub "!PREFIX__term:sym<fatarrow>" :subid("96_1272816833.94956") :method
.annotate "line", 4
$P405 = self."!PREFIX__!subrule"("fatarrow", "")
new $P406, "ResizablePMCArray"
@@ -5032,7 +5032,7 @@
.namespace ["NQP";"Grammar"]
-.sub "term:sym<colonpair>" :subid("97_1272455252.89365") :method :outer("11_1272455252.89365")
+.sub "term:sym<colonpair>" :subid("97_1272816833.94956") :method :outer("11_1272816833.94956")
.annotate "line", 4
.local string rx409_tgt
.local int rx409_pos
@@ -5090,7 +5090,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<colonpair>" :subid("98_1272455252.89365") :method
+.sub "!PREFIX__term:sym<colonpair>" :subid("98_1272816833.94956") :method
.annotate "line", 4
$P411 = self."!PREFIX__!subrule"("colonpair", "")
new $P412, "ResizablePMCArray"
@@ -5100,7 +5100,7 @@
.namespace ["NQP";"Grammar"]
-.sub "term:sym<variable>" :subid("99_1272455252.89365") :method :outer("11_1272455252.89365")
+.sub "term:sym<variable>" :subid("99_1272816833.94956") :method :outer("11_1272816833.94956")
.annotate "line", 4
.local string rx415_tgt
.local int rx415_pos
@@ -5158,7 +5158,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<variable>" :subid("100_1272455252.89365") :method
+.sub "!PREFIX__term:sym<variable>" :subid("100_1272816833.94956") :method
.annotate "line", 4
$P417 = self."!PREFIX__!subrule"("variable", "")
new $P418, "ResizablePMCArray"
@@ -5168,7 +5168,7 @@
.namespace ["NQP";"Grammar"]
-.sub "term:sym<package_declarator>" :subid("101_1272455252.89365") :method :outer("11_1272455252.89365")
+.sub "term:sym<package_declarator>" :subid("101_1272816833.94956") :method :outer("11_1272816833.94956")
.annotate "line", 4
.local string rx421_tgt
.local int rx421_pos
@@ -5226,7 +5226,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<package_declarator>" :subid("102_1272455252.89365") :method
+.sub "!PREFIX__term:sym<package_declarator>" :subid("102_1272816833.94956") :method
.annotate "line", 4
$P423 = self."!PREFIX__!subrule"("package_declarator", "")
new $P424, "ResizablePMCArray"
@@ -5236,7 +5236,7 @@
.namespace ["NQP";"Grammar"]
-.sub "term:sym<scope_declarator>" :subid("103_1272455252.89365") :method :outer("11_1272455252.89365")
+.sub "term:sym<scope_declarator>" :subid("103_1272816833.94956") :method :outer("11_1272816833.94956")
.annotate "line", 4
.local string rx427_tgt
.local int rx427_pos
@@ -5294,7 +5294,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<scope_declarator>" :subid("104_1272455252.89365") :method
+.sub "!PREFIX__term:sym<scope_declarator>" :subid("104_1272816833.94956") :method
.annotate "line", 4
$P429 = self."!PREFIX__!subrule"("scope_declarator", "")
new $P430, "ResizablePMCArray"
@@ -5304,7 +5304,7 @@
.namespace ["NQP";"Grammar"]
-.sub "term:sym<routine_declarator>" :subid("105_1272455252.89365") :method :outer("11_1272455252.89365")
+.sub "term:sym<routine_declarator>" :subid("105_1272816833.94956") :method :outer("11_1272816833.94956")
.annotate "line", 4
.local string rx433_tgt
.local int rx433_pos
@@ -5362,7 +5362,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<routine_declarator>" :subid("106_1272455252.89365") :method
+.sub "!PREFIX__term:sym<routine_declarator>" :subid("106_1272816833.94956") :method
.annotate "line", 4
$P435 = self."!PREFIX__!subrule"("routine_declarator", "")
new $P436, "ResizablePMCArray"
@@ -5372,7 +5372,7 @@
.namespace ["NQP";"Grammar"]
-.sub "term:sym<regex_declarator>" :subid("107_1272455252.89365") :method :outer("11_1272455252.89365")
+.sub "term:sym<regex_declarator>" :subid("107_1272816833.94956") :method :outer("11_1272816833.94956")
.annotate "line", 4
.local string rx439_tgt
.local int rx439_pos
@@ -5430,7 +5430,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<regex_declarator>" :subid("108_1272455252.89365") :method
+.sub "!PREFIX__term:sym<regex_declarator>" :subid("108_1272816833.94956") :method
.annotate "line", 4
$P441 = self."!PREFIX__!subrule"("regex_declarator", "")
new $P442, "ResizablePMCArray"
@@ -5440,7 +5440,7 @@
.namespace ["NQP";"Grammar"]
-.sub "term:sym<statement_prefix>" :subid("109_1272455252.89365") :method :outer("11_1272455252.89365")
+.sub "term:sym<statement_prefix>" :subid("109_1272816833.94956") :method :outer("11_1272816833.94956")
.annotate "line", 4
.local string rx445_tgt
.local int rx445_pos
@@ -5498,7 +5498,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<statement_prefix>" :subid("110_1272455252.89365") :method
+.sub "!PREFIX__term:sym<statement_prefix>" :subid("110_1272816833.94956") :method
.annotate "line", 4
$P447 = self."!PREFIX__!subrule"("statement_prefix", "")
new $P448, "ResizablePMCArray"
@@ -5508,7 +5508,7 @@
.namespace ["NQP";"Grammar"]
-.sub "term:sym<lambda>" :subid("111_1272455252.89365") :method :outer("11_1272455252.89365")
+.sub "term:sym<lambda>" :subid("111_1272816833.94956") :method :outer("11_1272816833.94956")
.annotate "line", 4
.local string rx451_tgt
.local int rx451_pos
@@ -5570,7 +5570,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<lambda>" :subid("112_1272455252.89365") :method
+.sub "!PREFIX__term:sym<lambda>" :subid("112_1272816833.94956") :method
.annotate "line", 4
new $P453, "ResizablePMCArray"
push $P453, ""
@@ -5579,7 +5579,7 @@
.namespace ["NQP";"Grammar"]
-.sub "fatarrow" :subid("113_1272455252.89365") :method :outer("11_1272455252.89365")
+.sub "fatarrow" :subid("113_1272816833.94956") :method :outer("11_1272816833.94956")
.annotate "line", 4
.local string rx456_tgt
.local int rx456_pos
@@ -5672,7 +5672,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__fatarrow" :subid("114_1272455252.89365") :method
+.sub "!PREFIX__fatarrow" :subid("114_1272816833.94956") :method
.annotate "line", 4
$P458 = self."!PREFIX__!subrule"("key", "")
new $P459, "ResizablePMCArray"
@@ -5682,7 +5682,7 @@
.namespace ["NQP";"Grammar"]
-.sub "colonpair" :subid("115_1272455252.89365") :method :outer("11_1272455252.89365")
+.sub "colonpair" :subid("115_1272816833.94956") :method :outer("11_1272816833.94956")
.annotate "line", 4
.local string rx464_tgt
.local int rx464_pos
@@ -5811,7 +5811,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__colonpair" :subid("116_1272455252.89365") :method
+.sub "!PREFIX__colonpair" :subid("116_1272816833.94956") :method
.annotate "line", 4
$P466 = self."!PREFIX__!subrule"("circumfix", ":")
$P467 = self."!PREFIX__!subrule"("identifier", ":")
@@ -5825,7 +5825,7 @@
.namespace ["NQP";"Grammar"]
-.sub "variable" :subid("117_1272455252.89365") :method :outer("11_1272455252.89365")
+.sub "variable" :subid("117_1272816833.94956") :method :outer("11_1272816833.94956")
.annotate "line", 4
.local string rx476_tgt
.local int rx476_pos
@@ -5980,7 +5980,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__variable" :subid("118_1272455252.89365") :method
+.sub "!PREFIX__variable" :subid("118_1272816833.94956") :method
.annotate "line", 4
$P478 = self."!PREFIX__!subrule"("sigil", "")
$P479 = self."!PREFIX__!subrule"("sigil", "")
@@ -5995,7 +5995,7 @@
.namespace ["NQP";"Grammar"]
-.sub "sigil" :subid("119_1272455252.89365") :method :outer("11_1272455252.89365")
+.sub "sigil" :subid("119_1272816833.94956") :method :outer("11_1272816833.94956")
.annotate "line", 4
.local string rx488_tgt
.local int rx488_pos
@@ -6053,7 +6053,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__sigil" :subid("120_1272455252.89365") :method
+.sub "!PREFIX__sigil" :subid("120_1272816833.94956") :method
.annotate "line", 4
new $P490, "ResizablePMCArray"
push $P490, "&"
@@ -6065,7 +6065,7 @@
.namespace ["NQP";"Grammar"]
-.sub "twigil" :subid("121_1272455252.89365") :method :outer("11_1272455252.89365")
+.sub "twigil" :subid("121_1272816833.94956") :method :outer("11_1272816833.94956")
.annotate "line", 4
.local string rx493_tgt
.local int rx493_pos
@@ -6123,7 +6123,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__twigil" :subid("122_1272455252.89365") :method
+.sub "!PREFIX__twigil" :subid("122_1272816833.94956") :method
.annotate "line", 4
new $P495, "ResizablePMCArray"
push $P495, "?"
@@ -6134,7 +6134,7 @@
.namespace ["NQP";"Grammar"]
-.sub "package_declarator" :subid("123_1272455252.89365") :method
+.sub "package_declarator" :subid("123_1272816833.94956") :method
.annotate "line", 253
$P498 = self."!protoregex"("package_declarator")
.return ($P498)
@@ -6142,7 +6142,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__package_declarator" :subid("124_1272455252.89365") :method
+.sub "!PREFIX__package_declarator" :subid("124_1272816833.94956") :method
.annotate "line", 253
$P500 = self."!PREFIX__!protoregex"("package_declarator")
.return ($P500)
@@ -6150,7 +6150,7 @@
.namespace ["NQP";"Grammar"]
-.sub "package_declarator:sym<module>" :subid("125_1272455252.89365") :method :outer("11_1272455252.89365")
+.sub "package_declarator:sym<module>" :subid("125_1272816833.94956") :method :outer("11_1272816833.94956")
.annotate "line", 4
.local string rx502_tgt
.local int rx502_pos
@@ -6229,7 +6229,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__package_declarator:sym<module>" :subid("126_1272455252.89365") :method
+.sub "!PREFIX__package_declarator:sym<module>" :subid("126_1272816833.94956") :method
.annotate "line", 4
$P504 = self."!PREFIX__!subrule"("package_def", "module")
new $P505, "ResizablePMCArray"
@@ -6239,7 +6239,7 @@
.namespace ["NQP";"Grammar"]
-.sub "package_declarator:sym<class>" :subid("127_1272455252.89365") :method :outer("11_1272455252.89365")
+.sub "package_declarator:sym<class>" :subid("127_1272816833.94956") :method :outer("11_1272816833.94956")
.annotate "line", 4
.local string rx509_tgt
.local int rx509_pos
@@ -6331,7 +6331,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__package_declarator:sym<class>" :subid("128_1272455252.89365") :method
+.sub "!PREFIX__package_declarator:sym<class>" :subid("128_1272816833.94956") :method
.annotate "line", 4
$P511 = self."!PREFIX__!subrule"("package_def", "grammar")
$P512 = self."!PREFIX__!subrule"("package_def", "class")
@@ -6343,7 +6343,7 @@
.namespace ["NQP";"Grammar"]
-.sub "package_def" :subid("129_1272455252.89365") :method :outer("11_1272455252.89365")
+.sub "package_def" :subid("129_1272816833.94956") :method :outer("11_1272816833.94956")
.annotate "line", 4
.local string rx518_tgt
.local int rx518_pos
@@ -6547,7 +6547,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__package_def" :subid("130_1272455252.89365") :method
+.sub "!PREFIX__package_def" :subid("130_1272816833.94956") :method
.annotate "line", 4
new $P520, "ResizablePMCArray"
push $P520, ""
@@ -6556,7 +6556,7 @@
.namespace ["NQP";"Grammar"]
-.sub "scope_declarator" :subid("131_1272455252.89365") :method
+.sub "scope_declarator" :subid("131_1272816833.94956") :method
.annotate "line", 267
$P541 = self."!protoregex"("scope_declarator")
.return ($P541)
@@ -6564,7 +6564,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__scope_declarator" :subid("132_1272455252.89365") :method
+.sub "!PREFIX__scope_declarator" :subid("132_1272816833.94956") :method
.annotate "line", 267
$P543 = self."!PREFIX__!protoregex"("scope_declarator")
.return ($P543)
@@ -6572,7 +6572,7 @@
.namespace ["NQP";"Grammar"]
-.sub "scope_declarator:sym<my>" :subid("133_1272455252.89365") :method :outer("11_1272455252.89365")
+.sub "scope_declarator:sym<my>" :subid("133_1272816833.94956") :method :outer("11_1272816833.94956")
.annotate "line", 4
.local string rx545_tgt
.local int rx545_pos
@@ -6651,7 +6651,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__scope_declarator:sym<my>" :subid("134_1272455252.89365") :method
+.sub "!PREFIX__scope_declarator:sym<my>" :subid("134_1272816833.94956") :method
.annotate "line", 4
$P547 = self."!PREFIX__!subrule"("scoped", "my")
new $P548, "ResizablePMCArray"
@@ -6661,7 +6661,7 @@
.namespace ["NQP";"Grammar"]
-.sub "scope_declarator:sym<our>" :subid("135_1272455252.89365") :method :outer("11_1272455252.89365")
+.sub "scope_declarator:sym<our>" :subid("135_1272816833.94956") :method :outer("11_1272816833.94956")
.annotate "line", 4
.local string rx552_tgt
.local int rx552_pos
@@ -6740,7 +6740,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__scope_declarator:sym<our>" :subid("136_1272455252.89365") :method
+.sub "!PREFIX__scope_declarator:sym<our>" :subid("136_1272816833.94956") :method
.annotate "line", 4
$P554 = self."!PREFIX__!subrule"("scoped", "our")
new $P555, "ResizablePMCArray"
@@ -6750,7 +6750,7 @@
.namespace ["NQP";"Grammar"]
-.sub "scope_declarator:sym<has>" :subid("137_1272455252.89365") :method :outer("11_1272455252.89365")
+.sub "scope_declarator:sym<has>" :subid("137_1272816833.94956") :method :outer("11_1272816833.94956")
.annotate "line", 4
.local string rx559_tgt
.local int rx559_pos
@@ -6829,7 +6829,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__scope_declarator:sym<has>" :subid("138_1272455252.89365") :method
+.sub "!PREFIX__scope_declarator:sym<has>" :subid("138_1272816833.94956") :method
.annotate "line", 4
$P561 = self."!PREFIX__!subrule"("scoped", "has")
new $P562, "ResizablePMCArray"
@@ -6839,7 +6839,7 @@
.namespace ["NQP";"Grammar"]
-.sub "scoped" :subid("139_1272455252.89365") :method :outer("11_1272455252.89365")
+.sub "scoped" :subid("139_1272816833.94956") :method :outer("11_1272816833.94956")
.param pmc param_566
.annotate "line", 272
.lex "$*SCOPE", param_566
@@ -6936,7 +6936,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__scoped" :subid("140_1272455252.89365") :method
+.sub "!PREFIX__scoped" :subid("140_1272816833.94956") :method
.annotate "line", 4
new $P569, "ResizablePMCArray"
push $P569, ""
@@ -6946,7 +6946,7 @@
.namespace ["NQP";"Grammar"]
-.sub "variable_declarator" :subid("141_1272455252.89365") :method :outer("11_1272455252.89365")
+.sub "variable_declarator" :subid("141_1272816833.94956") :method :outer("11_1272816833.94956")
.annotate "line", 4
.local string rx577_tgt
.local int rx577_pos
@@ -7004,7 +7004,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__variable_declarator" :subid("142_1272455252.89365") :method
+.sub "!PREFIX__variable_declarator" :subid("142_1272816833.94956") :method
.annotate "line", 4
$P579 = self."!PREFIX__!subrule"("variable", "")
new $P580, "ResizablePMCArray"
@@ -7014,7 +7014,7 @@
.namespace ["NQP";"Grammar"]
-.sub "routine_declarator" :subid("143_1272455252.89365") :method
+.sub "routine_declarator" :subid("143_1272816833.94956") :method
.annotate "line", 279
$P583 = self."!protoregex"("routine_declarator")
.return ($P583)
@@ -7022,7 +7022,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__routine_declarator" :subid("144_1272455252.89365") :method
+.sub "!PREFIX__routine_declarator" :subid("144_1272816833.94956") :method
.annotate "line", 279
$P585 = self."!PREFIX__!protoregex"("routine_declarator")
.return ($P585)
@@ -7030,7 +7030,7 @@
.namespace ["NQP";"Grammar"]
-.sub "routine_declarator:sym<sub>" :subid("145_1272455252.89365") :method :outer("11_1272455252.89365")
+.sub "routine_declarator:sym<sub>" :subid("145_1272816833.94956") :method :outer("11_1272816833.94956")
.annotate "line", 4
.local string rx587_tgt
.local int rx587_pos
@@ -7109,7 +7109,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__routine_declarator:sym<sub>" :subid("146_1272455252.89365") :method
+.sub "!PREFIX__routine_declarator:sym<sub>" :subid("146_1272816833.94956") :method
.annotate "line", 4
$P589 = self."!PREFIX__!subrule"("routine_def", "sub")
new $P590, "ResizablePMCArray"
@@ -7119,7 +7119,7 @@
.namespace ["NQP";"Grammar"]
-.sub "routine_declarator:sym<method>" :subid("147_1272455252.89365") :method :outer("11_1272455252.89365")
+.sub "routine_declarator:sym<method>" :subid("147_1272816833.94956") :method :outer("11_1272816833.94956")
.annotate "line", 4
.local string rx594_tgt
.local int rx594_pos
@@ -7198,7 +7198,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__routine_declarator:sym<method>" :subid("148_1272455252.89365") :method
+.sub "!PREFIX__routine_declarator:sym<method>" :subid("148_1272816833.94956") :method
.annotate "line", 4
$P596 = self."!PREFIX__!subrule"("method_def", "method")
new $P597, "ResizablePMCArray"
@@ -7208,7 +7208,7 @@
.namespace ["NQP";"Grammar"]
-.sub "routine_def" :subid("149_1272455252.89365") :method :outer("11_1272455252.89365")
+.sub "routine_def" :subid("149_1272816833.94956") :method :outer("11_1272816833.94956")
.annotate "line", 4
.local string rx601_tgt
.local int rx601_pos
@@ -7415,7 +7415,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__routine_def" :subid("150_1272455252.89365") :method
+.sub "!PREFIX__routine_def" :subid("150_1272816833.94956") :method
.annotate "line", 4
new $P603, "ResizablePMCArray"
push $P603, ""
@@ -7424,7 +7424,7 @@
.namespace ["NQP";"Grammar"]
-.sub "method_def" :subid("151_1272455252.89365") :method :outer("11_1272455252.89365")
+.sub "method_def" :subid("151_1272816833.94956") :method :outer("11_1272816833.94956")
.annotate "line", 4
.local string rx625_tgt
.local int rx625_pos
@@ -7594,7 +7594,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__method_def" :subid("152_1272455252.89365") :method
+.sub "!PREFIX__method_def" :subid("152_1272816833.94956") :method
.annotate "line", 4
new $P627, "ResizablePMCArray"
push $P627, ""
@@ -7603,7 +7603,7 @@
.namespace ["NQP";"Grammar"]
-.sub "signature" :subid("153_1272455252.89365") :method :outer("11_1272455252.89365")
+.sub "signature" :subid("153_1272816833.94956") :method :outer("11_1272816833.94956")
.annotate "line", 4
.local string rx644_tgt
.local int rx644_pos
@@ -7693,7 +7693,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__signature" :subid("154_1272455252.89365") :method
+.sub "!PREFIX__signature" :subid("154_1272816833.94956") :method
.annotate "line", 4
new $P646, "ResizablePMCArray"
push $P646, ""
@@ -7702,7 +7702,7 @@
.namespace ["NQP";"Grammar"]
-.sub "parameter" :subid("155_1272455252.89365") :method :outer("11_1272455252.89365")
+.sub "parameter" :subid("155_1272816833.94956") :method :outer("11_1272816833.94956")
.annotate "line", 4
.local string rx653_tgt
.local int rx653_pos
@@ -7863,7 +7863,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__parameter" :subid("156_1272455252.89365") :method
+.sub "!PREFIX__parameter" :subid("156_1272816833.94956") :method
.annotate "line", 4
$P655 = self."!PREFIX__!subrule"("named_param", "")
$P656 = self."!PREFIX__!subrule"("param_var", "")
@@ -7877,7 +7877,7 @@
.namespace ["NQP";"Grammar"]
-.sub "param_var" :subid("157_1272455252.89365") :method :outer("11_1272455252.89365")
+.sub "param_var" :subid("157_1272816833.94956") :method :outer("11_1272816833.94956")
.annotate "line", 4
.local string rx668_tgt
.local int rx668_pos
@@ -7985,7 +7985,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__param_var" :subid("158_1272455252.89365") :method
+.sub "!PREFIX__param_var" :subid("158_1272816833.94956") :method
.annotate "line", 4
$P670 = self."!PREFIX__!subrule"("sigil", "")
new $P671, "ResizablePMCArray"
@@ -7995,7 +7995,7 @@
.namespace ["NQP";"Grammar"]
-.sub "named_param" :subid("159_1272455252.89365") :method :outer("11_1272455252.89365")
+.sub "named_param" :subid("159_1272816833.94956") :method :outer("11_1272816833.94956")
.annotate "line", 4
.local string rx678_tgt
.local int rx678_pos
@@ -8061,7 +8061,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__named_param" :subid("160_1272455252.89365") :method
+.sub "!PREFIX__named_param" :subid("160_1272816833.94956") :method
.annotate "line", 4
$P680 = self."!PREFIX__!subrule"("param_var", ":")
new $P681, "ResizablePMCArray"
@@ -8071,7 +8071,7 @@
.namespace ["NQP";"Grammar"]
-.sub "default_value" :subid("161_1272455252.89365") :method :outer("11_1272455252.89365")
+.sub "default_value" :subid("161_1272816833.94956") :method :outer("11_1272816833.94956")
.annotate "line", 4
.local string rx684_tgt
.local int rx684_pos
@@ -8151,7 +8151,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__default_value" :subid("162_1272455252.89365") :method
+.sub "!PREFIX__default_value" :subid("162_1272816833.94956") :method
.annotate "line", 4
new $P686, "ResizablePMCArray"
push $P686, ""
@@ -8160,7 +8160,7 @@
.namespace ["NQP";"Grammar"]
-.sub "regex_declarator" :subid("163_1272455252.89365") :method :outer("11_1272455252.89365")
+.sub "regex_declarator" :subid("163_1272816833.94956") :method :outer("11_1272816833.94956")
.annotate "line", 4
.local string rx692_tgt
.local int rx692_pos
@@ -8561,7 +8561,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__regex_declarator" :subid("164_1272455252.89365") :method
+.sub "!PREFIX__regex_declarator" :subid("164_1272816833.94956") :method
.annotate "line", 4
new $P694, "ResizablePMCArray"
push $P694, ""
@@ -8570,7 +8570,7 @@
.namespace ["NQP";"Grammar"]
-.sub "dotty" :subid("165_1272455252.89365") :method :outer("11_1272455252.89365")
+.sub "dotty" :subid("165_1272816833.94956") :method :outer("11_1272816833.94956")
.annotate "line", 4
.local string rx729_tgt
.local int rx729_pos
@@ -8726,7 +8726,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__dotty" :subid("166_1272455252.89365") :method
+.sub "!PREFIX__dotty" :subid("166_1272816833.94956") :method
.annotate "line", 4
$P731 = self."!PREFIX__!subrule"("longname=identifier", ".")
new $P732, "ResizablePMCArray"
@@ -8738,7 +8738,7 @@
.namespace ["NQP";"Grammar"]
-.sub "term" :subid("167_1272455252.89365") :method
+.sub "term" :subid("167_1272816833.94956") :method
.annotate "line", 351
$P740 = self."!protoregex"("term")
.return ($P740)
@@ -8746,7 +8746,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term" :subid("168_1272455252.89365") :method
+.sub "!PREFIX__term" :subid("168_1272816833.94956") :method
.annotate "line", 351
$P742 = self."!PREFIX__!protoregex"("term")
.return ($P742)
@@ -8754,7 +8754,7 @@
.namespace ["NQP";"Grammar"]
-.sub "term:sym<self>" :subid("169_1272455252.89365") :method :outer("11_1272455252.89365")
+.sub "term:sym<self>" :subid("169_1272816833.94956") :method :outer("11_1272816833.94956")
.annotate "line", 4
.local string rx744_tgt
.local int rx744_pos
@@ -8834,7 +8834,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<self>" :subid("170_1272455252.89365") :method
+.sub "!PREFIX__term:sym<self>" :subid("170_1272816833.94956") :method
.annotate "line", 4
new $P746, "ResizablePMCArray"
push $P746, "self"
@@ -8843,7 +8843,7 @@
.namespace ["NQP";"Grammar"]
-.sub "term:sym<identifier>" :subid("171_1272455252.89365") :method :outer("11_1272455252.89365")
+.sub "term:sym<identifier>" :subid("171_1272816833.94956") :method :outer("11_1272816833.94956")
.annotate "line", 4
.local string rx750_tgt
.local int rx750_pos
@@ -8915,7 +8915,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<identifier>" :subid("172_1272455252.89365") :method
+.sub "!PREFIX__term:sym<identifier>" :subid("172_1272816833.94956") :method
.annotate "line", 4
$P752 = self."!PREFIX__!subrule"("identifier", "")
new $P753, "ResizablePMCArray"
@@ -8925,7 +8925,7 @@
.namespace ["NQP";"Grammar"]
-.sub "term:sym<name>" :subid("173_1272455252.89365") :method :outer("11_1272455252.89365")
+.sub "term:sym<name>" :subid("173_1272816833.94956") :method :outer("11_1272816833.94956")
.annotate "line", 4
.local string rx756_tgt
.local int rx756_pos
@@ -8998,7 +8998,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<name>" :subid("174_1272455252.89365") :method
+.sub "!PREFIX__term:sym<name>" :subid("174_1272816833.94956") :method
.annotate "line", 4
$P758 = self."!PREFIX__!subrule"("name", "")
new $P759, "ResizablePMCArray"
@@ -9008,7 +9008,7 @@
.namespace ["NQP";"Grammar"]
-.sub "term:sym<pir::op>" :subid("175_1272455252.89365") :method :outer("11_1272455252.89365")
+.sub "term:sym<pir::op>" :subid("175_1272816833.94956") :method :outer("11_1272816833.94956")
.annotate "line", 4
.local string rx764_tgt
.local int rx764_pos
@@ -9101,7 +9101,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<pir::op>" :subid("176_1272455252.89365") :method
+.sub "!PREFIX__term:sym<pir::op>" :subid("176_1272816833.94956") :method
.annotate "line", 4
new $P766, "ResizablePMCArray"
push $P766, "pir::"
@@ -9110,7 +9110,7 @@
.namespace ["NQP";"Grammar"]
-.sub "args" :subid("177_1272455252.89365") :method :outer("11_1272455252.89365")
+.sub "args" :subid("177_1272816833.94956") :method :outer("11_1272816833.94956")
.annotate "line", 4
.local string rx772_tgt
.local int rx772_pos
@@ -9182,7 +9182,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__args" :subid("178_1272455252.89365") :method
+.sub "!PREFIX__args" :subid("178_1272816833.94956") :method
.annotate "line", 4
$P774 = self."!PREFIX__!subrule"("arglist", "(")
new $P775, "ResizablePMCArray"
@@ -9192,7 +9192,7 @@
.namespace ["NQP";"Grammar"]
-.sub "arglist" :subid("179_1272455252.89365") :method :outer("11_1272455252.89365")
+.sub "arglist" :subid("179_1272816833.94956") :method :outer("11_1272816833.94956")
.annotate "line", 4
.local string rx778_tgt
.local int rx778_pos
@@ -9264,7 +9264,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__arglist" :subid("180_1272455252.89365") :method
+.sub "!PREFIX__arglist" :subid("180_1272816833.94956") :method
.annotate "line", 4
$P780 = self."!PREFIX__!subrule"("", "")
new $P781, "ResizablePMCArray"
@@ -9274,7 +9274,7 @@
.namespace ["NQP";"Grammar"]
-.sub "term:sym<value>" :subid("181_1272455252.89365") :method :outer("11_1272455252.89365")
+.sub "term:sym<value>" :subid("181_1272816833.94956") :method :outer("11_1272816833.94956")
.annotate "line", 4
.local string rx785_tgt
.local int rx785_pos
@@ -9332,7 +9332,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__term:sym<value>" :subid("182_1272455252.89365") :method
+.sub "!PREFIX__term:sym<value>" :subid("182_1272816833.94956") :method
.annotate "line", 4
$P787 = self."!PREFIX__!subrule"("value", "")
new $P788, "ResizablePMCArray"
@@ -9342,7 +9342,7 @@
.namespace ["NQP";"Grammar"]
-.sub "value" :subid("183_1272455252.89365") :method :outer("11_1272455252.89365")
+.sub "value" :subid("183_1272816833.94956") :method :outer("11_1272816833.94956")
.annotate "line", 4
.local string rx791_tgt
.local int rx791_pos
@@ -9416,7 +9416,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__value" :subid("184_1272455252.89365") :method
+.sub "!PREFIX__value" :subid("184_1272816833.94956") :method
.annotate "line", 4
$P793 = self."!PREFIX__!subrule"("number", "")
$P794 = self."!PREFIX__!subrule"("quote", "")
@@ -9428,7 +9428,7 @@
.namespace ["NQP";"Grammar"]
-.sub "number" :subid("185_1272455252.89365") :method :outer("11_1272455252.89365")
+.sub "number" :subid("185_1272816833.94956") :method :outer("11_1272816833.94956")
.annotate "line", 4
.local string rx799_tgt
.local int rx799_pos
@@ -9528,7 +9528,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__number" :subid("186_1272455252.89365") :method
+.sub "!PREFIX__number" :subid("186_1272816833.94956") :method
.annotate "line", 4
new $P801, "ResizablePMCArray"
push $P801, ""
@@ -9537,7 +9537,7 @@
.namespace ["NQP";"Grammar"]
-.sub "quote" :subid("187_1272455252.89365") :method
+.sub "quote" :subid("187_1272816833.94956") :method
.annotate "line", 392
$P808 = self."!protoregex"("quote")
.return ($P808)
@@ -9545,7 +9545,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__quote" :subid("188_1272455252.89365") :method
+.sub "!PREFIX__quote" :subid("188_1272816833.94956") :method
.annotate "line", 392
$P810 = self."!PREFIX__!protoregex"("quote")
.return ($P810)
@@ -9553,7 +9553,7 @@
.namespace ["NQP";"Grammar"]
-.sub "quote:sym<apos>" :subid("189_1272455252.89365") :method :outer("11_1272455252.89365")
+.sub "quote:sym<apos>" :subid("189_1272816833.94956") :method :outer("11_1272816833.94956")
.annotate "line", 4
.local string rx812_tgt
.local int rx812_pos
@@ -9617,7 +9617,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__quote:sym<apos>" :subid("190_1272455252.89365") :method
+.sub "!PREFIX__quote:sym<apos>" :subid("190_1272816833.94956") :method
.annotate "line", 4
new $P814, "ResizablePMCArray"
push $P814, "'"
@@ -9626,7 +9626,7 @@
.namespace ["NQP";"Grammar"]
-.sub "quote:sym<dblq>" :subid("191_1272455252.89365") :method :outer("11_1272455252.89365")
+.sub "quote:sym<dblq>" :subid("191_1272816833.94956") :method :outer("11_1272816833.94956")
.annotate "line", 4
.local string rx817_tgt
.local int rx817_pos
@@ -9690,7 +9690,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__quote:sym<dblq>" :subid("192_1272455252.89365") :method
+.sub "!PREFIX__quote:sym<dblq>" :subid("192_1272816833.94956") :method
.annotate "line", 4
new $P819, "ResizablePMCArray"
push $P819, "\""
@@ -9699,7 +9699,7 @@
.namespace ["NQP";"Grammar"]
-.sub "quote:sym<q>" :subid("193_1272455252.89365") :method :outer("11_1272455252.89365")
+.sub "quote:sym<q>" :subid("193_1272816833.94956") :method :outer("11_1272816833.94956")
.annotate "line", 4
.local string rx822_tgt
.local int rx822_pos
@@ -9738,6 +9738,14 @@
substr $S10, rx822_tgt, $I11, 1
ne $S10, "q", rx822_fail
add rx822_pos, 1
+ # rxanchor rwb
+ le rx822_pos, 0, rx822_fail
+ sub $I10, rx822_pos, rx822_off
+ is_cclass $I11, 8192, rx822_tgt, $I10
+ if $I11, rx822_fail
+ dec $I10
+ is_cclass $I11, 8192, rx822_tgt, $I10
+ unless $I11, rx822_fail
# rx enumcharlist negate=1 zerowidth
ge rx822_pos, rx822_eos, rx822_fail
sub $I10, rx822_pos, rx822_off
@@ -9775,7 +9783,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__quote:sym<q>" :subid("194_1272455252.89365") :method
+.sub "!PREFIX__quote:sym<q>" :subid("194_1272816833.94956") :method
.annotate "line", 4
$P824 = self."!PREFIX__!subrule"("", "q")
new $P825, "ResizablePMCArray"
@@ -9785,7 +9793,7 @@
.namespace ["NQP";"Grammar"]
-.sub "quote:sym<qq>" :subid("195_1272455252.89365") :method :outer("11_1272455252.89365")
+.sub "quote:sym<qq>" :subid("195_1272816833.94956") :method :outer("11_1272816833.94956")
.annotate "line", 4
.local string rx828_tgt
.local int rx828_pos
@@ -9824,6 +9832,14 @@
substr $S10, rx828_tgt, $I11, 2
ne $S10, "qq", rx828_fail
add rx828_pos, 2
+ # rxanchor rwb
+ le rx828_pos, 0, rx828_fail
+ sub $I10, rx828_pos, rx828_off
+ is_cclass $I11, 8192, rx828_tgt, $I10
+ if $I11, rx828_fail
+ dec $I10
+ is_cclass $I11, 8192, rx828_tgt, $I10
+ unless $I11, rx828_fail
# rx enumcharlist negate=1 zerowidth
ge rx828_pos, rx828_eos, rx828_fail
sub $I10, rx828_pos, rx828_off
@@ -9861,7 +9877,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__quote:sym<qq>" :subid("196_1272455252.89365") :method
+.sub "!PREFIX__quote:sym<qq>" :subid("196_1272816833.94956") :method
.annotate "line", 4
$P830 = self."!PREFIX__!subrule"("", "qq")
new $P831, "ResizablePMCArray"
@@ -9871,7 +9887,7 @@
.namespace ["NQP";"Grammar"]
-.sub "quote:sym<Q>" :subid("197_1272455252.89365") :method :outer("11_1272455252.89365")
+.sub "quote:sym<Q>" :subid("197_1272816833.94956") :method :outer("11_1272816833.94956")
.annotate "line", 4
.local string rx834_tgt
.local int rx834_pos
@@ -9910,6 +9926,14 @@
substr $S10, rx834_tgt, $I11, 1
ne $S10, "Q", rx834_fail
add rx834_pos, 1
+ # rxanchor rwb
+ le rx834_pos, 0, rx834_fail
+ sub $I10, rx834_pos, rx834_off
+ is_cclass $I11, 8192, rx834_tgt, $I10
+ if $I11, rx834_fail
+ dec $I10
+ is_cclass $I11, 8192, rx834_tgt, $I10
+ unless $I11, rx834_fail
# rx enumcharlist negate=1 zerowidth
ge rx834_pos, rx834_eos, rx834_fail
sub $I10, rx834_pos, rx834_off
@@ -9947,7 +9971,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__quote:sym<Q>" :subid("198_1272455252.89365") :method
+.sub "!PREFIX__quote:sym<Q>" :subid("198_1272816833.94956") :method
.annotate "line", 4
$P836 = self."!PREFIX__!subrule"("", "Q")
new $P837, "ResizablePMCArray"
@@ -9957,7 +9981,7 @@
.namespace ["NQP";"Grammar"]
-.sub "quote:sym<Q:PIR>" :subid("199_1272455252.89365") :method :outer("11_1272455252.89365")
+.sub "quote:sym<Q:PIR>" :subid("199_1272816833.94956") :method :outer("11_1272816833.94956")
.annotate "line", 4
.local string rx840_tgt
.local int rx840_pos
@@ -10027,7 +10051,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__quote:sym<Q:PIR>" :subid("200_1272455252.89365") :method
+.sub "!PREFIX__quote:sym<Q:PIR>" :subid("200_1272816833.94956") :method
.annotate "line", 4
$P842 = self."!PREFIX__!subrule"("", "Q:PIR")
new $P843, "ResizablePMCArray"
@@ -10037,7 +10061,7 @@
.namespace ["NQP";"Grammar"]
-.sub "quote:sym</ />" :subid("201_1272455252.89365") :method :outer("11_1272455252.89365")
+.sub "quote:sym</ />" :subid("201_1272816833.94956") :method :outer("11_1272816833.94956")
.annotate "line", 4
.local string rx846_tgt
.local int rx846_pos
@@ -10122,7 +10146,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__quote:sym</ />" :subid("202_1272455252.89365") :method
+.sub "!PREFIX__quote:sym</ />" :subid("202_1272816833.94956") :method
.annotate "line", 4
$P848 = self."!PREFIX__!subrule"("", "/")
new $P849, "ResizablePMCArray"
@@ -10132,7 +10156,7 @@
.namespace ["NQP";"Grammar"]
-.sub "quote_escape:sym<$>" :subid("203_1272455252.89365") :method :outer("11_1272455252.89365")
+.sub "quote_escape:sym<$>" :subid("203_1272816833.94956") :method :outer("11_1272816833.94956")
.annotate "line", 4
.local string rx852_tgt
.local int rx852_pos
@@ -10200,7 +10224,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<$>" :subid("204_1272455252.89365") :method
+.sub "!PREFIX__quote_escape:sym<$>" :subid("204_1272816833.94956") :method
.annotate "line", 4
new $P854, "ResizablePMCArray"
push $P854, "$"
@@ -10209,7 +10233,7 @@
.namespace ["NQP";"Grammar"]
-.sub "quote_escape:sym<{ }>" :subid("205_1272455252.89365") :method :outer("11_1272455252.89365")
+.sub "quote_escape:sym<{ }>" :subid("205_1272816833.94956") :method :outer("11_1272816833.94956")
.annotate "line", 4
.local string rx857_tgt
.local int rx857_pos
@@ -10277,7 +10301,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<{ }>" :subid("206_1272455252.89365") :method
+.sub "!PREFIX__quote_escape:sym<{ }>" :subid("206_1272816833.94956") :method
.annotate "line", 4
new $P859, "ResizablePMCArray"
push $P859, "{"
@@ -10286,7 +10310,7 @@
.namespace ["NQP";"Grammar"]
-.sub "quote_escape:sym<esc>" :subid("207_1272455252.89365") :method :outer("11_1272455252.89365")
+.sub "quote_escape:sym<esc>" :subid("207_1272816833.94956") :method :outer("11_1272816833.94956")
.annotate "line", 4
.local string rx862_tgt
.local int rx862_pos
@@ -10348,7 +10372,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__quote_escape:sym<esc>" :subid("208_1272455252.89365") :method
+.sub "!PREFIX__quote_escape:sym<esc>" :subid("208_1272816833.94956") :method
.annotate "line", 4
new $P864, "ResizablePMCArray"
push $P864, "\\e"
@@ -10357,7 +10381,7 @@
.namespace ["NQP";"Grammar"]
-.sub "circumfix:sym<( )>" :subid("209_1272455252.89365") :method :outer("11_1272455252.89365")
+.sub "circumfix:sym<( )>" :subid("209_1272816833.94956") :method :outer("11_1272816833.94956")
.annotate "line", 4
.local string rx867_tgt
.local int rx867_pos
@@ -10441,7 +10465,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__circumfix:sym<( )>" :subid("210_1272455252.89365") :method
+.sub "!PREFIX__circumfix:sym<( )>" :subid("210_1272816833.94956") :method
.annotate "line", 4
$P869 = self."!PREFIX__!subrule"("", "(")
new $P870, "ResizablePMCArray"
@@ -10451,7 +10475,7 @@
.namespace ["NQP";"Grammar"]
-.sub "circumfix:sym<[ ]>" :subid("211_1272455252.89365") :method :outer("11_1272455252.89365")
+.sub "circumfix:sym<[ ]>" :subid("211_1272816833.94956") :method :outer("11_1272816833.94956")
.annotate "line", 4
.local string rx875_tgt
.local int rx875_pos
@@ -10535,7 +10559,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__circumfix:sym<[ ]>" :subid("212_1272455252.89365") :method
+.sub "!PREFIX__circumfix:sym<[ ]>" :subid("212_1272816833.94956") :method
.annotate "line", 4
$P877 = self."!PREFIX__!subrule"("", "[")
new $P878, "ResizablePMCArray"
@@ -10545,7 +10569,7 @@
.namespace ["NQP";"Grammar"]
-.sub "circumfix:sym<ang>" :subid("213_1272455252.89365") :method :outer("11_1272455252.89365")
+.sub "circumfix:sym<ang>" :subid("213_1272816833.94956") :method :outer("11_1272816833.94956")
.annotate "line", 4
.local string rx883_tgt
.local int rx883_pos
@@ -10609,7 +10633,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__circumfix:sym<ang>" :subid("214_1272455252.89365") :method
+.sub "!PREFIX__circumfix:sym<ang>" :subid("214_1272816833.94956") :method
.annotate "line", 4
new $P885, "ResizablePMCArray"
push $P885, "<"
@@ -10618,7 +10642,7 @@
.namespace ["NQP";"Grammar"]
-.sub unicode:"circumfix:sym<\x{ab} \x{bb}>" :subid("215_1272455252.89365") :method :outer("11_1272455252.89365")
+.sub unicode:"circumfix:sym<\x{ab} \x{bb}>" :subid("215_1272816833.94956") :method :outer("11_1272816833.94956")
.annotate "line", 4
.local string rx888_tgt
.local int rx888_pos
@@ -10682,7 +10706,7 @@
.namespace ["NQP";"Grammar"]
-.sub unicode:"!PREFIX__circumfix:sym<\x{ab} \x{bb}>" :subid("216_1272455252.89365") :method
+.sub unicode:"!PREFIX__circumfix:sym<\x{ab} \x{bb}>" :subid("216_1272816833.94956") :method
.annotate "line", 4
new $P890, "ResizablePMCArray"
push $P890, unicode:"\x{ab}"
@@ -10691,7 +10715,7 @@
.namespace ["NQP";"Grammar"]
-.sub "circumfix:sym<{ }>" :subid("217_1272455252.89365") :method :outer("11_1272455252.89365")
+.sub "circumfix:sym<{ }>" :subid("217_1272816833.94956") :method :outer("11_1272816833.94956")
.annotate "line", 4
.local string rx893_tgt
.local int rx893_pos
@@ -10755,7 +10779,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__circumfix:sym<{ }>" :subid("218_1272455252.89365") :method
+.sub "!PREFIX__circumfix:sym<{ }>" :subid("218_1272816833.94956") :method
.annotate "line", 4
new $P895, "ResizablePMCArray"
push $P895, "{"
@@ -10764,7 +10788,7 @@
.namespace ["NQP";"Grammar"]
-.sub "circumfix:sym<sigil>" :subid("219_1272455252.89365") :method :outer("11_1272455252.89365")
+.sub "circumfix:sym<sigil>" :subid("219_1272816833.94956") :method :outer("11_1272816833.94956")
.annotate "line", 4
.local string rx898_tgt
.local int rx898_pos
@@ -10854,7 +10878,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__circumfix:sym<sigil>" :subid("220_1272455252.89365") :method
+.sub "!PREFIX__circumfix:sym<sigil>" :subid("220_1272816833.94956") :method
.annotate "line", 4
$P900 = self."!PREFIX__!subrule"("sigil", "")
new $P901, "ResizablePMCArray"
@@ -10864,7 +10888,7 @@
.namespace ["NQP";"Grammar"]
-.sub "semilist" :subid("221_1272455252.89365") :method :outer("11_1272455252.89365")
+.sub "semilist" :subid("221_1272816833.94956") :method :outer("11_1272816833.94956")
.annotate "line", 4
.local string rx906_tgt
.local int rx906_pos
@@ -10932,7 +10956,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__semilist" :subid("222_1272455252.89365") :method
+.sub "!PREFIX__semilist" :subid("222_1272816833.94956") :method
.annotate "line", 4
new $P908, "ResizablePMCArray"
push $P908, ""
@@ -10941,7 +10965,7 @@
.namespace ["NQP";"Grammar"]
-.sub "infixish" :subid("223_1272455252.89365") :method :outer("11_1272455252.89365")
+.sub "infixish" :subid("223_1272816833.94956") :method :outer("11_1272816833.94956")
.annotate "line", 422
.local string rx913_tgt
.local int rx913_pos
@@ -11003,7 +11027,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infixish" :subid("224_1272455252.89365") :method
+.sub "!PREFIX__infixish" :subid("224_1272816833.94956") :method
.annotate "line", 422
new $P915, "ResizablePMCArray"
push $P915, ""
@@ -11012,7 +11036,7 @@
.namespace ["NQP";"Grammar"]
-.sub "infixstopper" :subid("225_1272455252.89365") :method :outer("11_1272455252.89365")
+.sub "infixstopper" :subid("225_1272816833.94956") :method :outer("11_1272816833.94956")
.annotate "line", 422
.local string rx918_tgt
.local int rx918_pos
@@ -11067,7 +11091,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infixstopper" :subid("226_1272455252.89365") :method
+.sub "!PREFIX__infixstopper" :subid("226_1272816833.94956") :method
.annotate "line", 422
new $P920, "ResizablePMCArray"
push $P920, ""
@@ -11076,7 +11100,7 @@
.namespace ["NQP";"Grammar"]
-.sub "postcircumfix:sym<[ ]>" :subid("227_1272455252.89365") :method :outer("11_1272455252.89365")
+.sub "postcircumfix:sym<[ ]>" :subid("227_1272816833.94956") :method :outer("11_1272816833.94956")
.annotate "line", 422
.local string rx923_tgt
.local int rx923_pos
@@ -11162,7 +11186,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__postcircumfix:sym<[ ]>" :subid("228_1272455252.89365") :method
+.sub "!PREFIX__postcircumfix:sym<[ ]>" :subid("228_1272816833.94956") :method
.annotate "line", 422
$P925 = self."!PREFIX__!subrule"("", "[")
new $P926, "ResizablePMCArray"
@@ -11172,7 +11196,7 @@
.namespace ["NQP";"Grammar"]
-.sub "postcircumfix:sym<{ }>" :subid("229_1272455252.89365") :method :outer("11_1272455252.89365")
+.sub "postcircumfix:sym<{ }>" :subid("229_1272816833.94956") :method :outer("11_1272816833.94956")
.annotate "line", 422
.local string rx929_tgt
.local int rx929_pos
@@ -11258,7 +11282,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__postcircumfix:sym<{ }>" :subid("230_1272455252.89365") :method
+.sub "!PREFIX__postcircumfix:sym<{ }>" :subid("230_1272816833.94956") :method
.annotate "line", 422
$P931 = self."!PREFIX__!subrule"("", "{")
new $P932, "ResizablePMCArray"
@@ -11268,7 +11292,7 @@
.namespace ["NQP";"Grammar"]
-.sub "postcircumfix:sym<ang>" :subid("231_1272455252.89365") :method :outer("11_1272455252.89365")
+.sub "postcircumfix:sym<ang>" :subid("231_1272816833.94956") :method :outer("11_1272816833.94956")
.annotate "line", 422
.local string rx935_tgt
.local int rx935_pos
@@ -11341,7 +11365,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__postcircumfix:sym<ang>" :subid("232_1272455252.89365") :method
+.sub "!PREFIX__postcircumfix:sym<ang>" :subid("232_1272816833.94956") :method
.annotate "line", 422
new $P937, "ResizablePMCArray"
push $P937, "<"
@@ -11350,7 +11374,7 @@
.namespace ["NQP";"Grammar"]
-.sub "postcircumfix:sym<( )>" :subid("233_1272455252.89365") :method :outer("11_1272455252.89365")
+.sub "postcircumfix:sym<( )>" :subid("233_1272816833.94956") :method :outer("11_1272816833.94956")
.annotate "line", 422
.local string rx940_tgt
.local int rx940_pos
@@ -11436,7 +11460,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__postcircumfix:sym<( )>" :subid("234_1272455252.89365") :method
+.sub "!PREFIX__postcircumfix:sym<( )>" :subid("234_1272816833.94956") :method
.annotate "line", 422
$P942 = self."!PREFIX__!subrule"("", "(")
new $P943, "ResizablePMCArray"
@@ -11446,7 +11470,7 @@
.namespace ["NQP";"Grammar"]
-.sub "postfix:sym<.>" :subid("235_1272455252.89365") :method :outer("11_1272455252.89365")
+.sub "postfix:sym<.>" :subid("235_1272816833.94956") :method :outer("11_1272816833.94956")
.annotate "line", 422
.local string rx946_tgt
.local int rx946_pos
@@ -11511,7 +11535,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__postfix:sym<.>" :subid("236_1272455252.89365") :method
+.sub "!PREFIX__postfix:sym<.>" :subid("236_1272816833.94956") :method
.annotate "line", 422
$P948 = self."!PREFIX__!subrule"("dotty", "")
new $P949, "ResizablePMCArray"
@@ -11521,7 +11545,7 @@
.namespace ["NQP";"Grammar"]
-.sub "prefix:sym<++>" :subid("237_1272455252.89365") :method :outer("11_1272455252.89365")
+.sub "prefix:sym<++>" :subid("237_1272816833.94956") :method :outer("11_1272816833.94956")
.annotate "line", 422
.local string rx952_tgt
.local int rx952_pos
@@ -11600,7 +11624,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__prefix:sym<++>" :subid("238_1272455252.89365") :method
+.sub "!PREFIX__prefix:sym<++>" :subid("238_1272816833.94956") :method
.annotate "line", 422
$P954 = self."!PREFIX__!subrule"("O", "++")
new $P955, "ResizablePMCArray"
@@ -11610,7 +11634,7 @@
.namespace ["NQP";"Grammar"]
-.sub "prefix:sym<-->" :subid("239_1272455252.89365") :method :outer("11_1272455252.89365")
+.sub "prefix:sym<-->" :subid("239_1272816833.94956") :method :outer("11_1272816833.94956")
.annotate "line", 422
.local string rx959_tgt
.local int rx959_pos
@@ -11689,7 +11713,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__prefix:sym<-->" :subid("240_1272455252.89365") :method
+.sub "!PREFIX__prefix:sym<-->" :subid("240_1272816833.94956") :method
.annotate "line", 422
$P961 = self."!PREFIX__!subrule"("O", "--")
new $P962, "ResizablePMCArray"
@@ -11699,7 +11723,7 @@
.namespace ["NQP";"Grammar"]
-.sub "postfix:sym<++>" :subid("241_1272455252.89365") :method :outer("11_1272455252.89365")
+.sub "postfix:sym<++>" :subid("241_1272816833.94956") :method :outer("11_1272816833.94956")
.annotate "line", 422
.local string rx966_tgt
.local int rx966_pos
@@ -11778,7 +11802,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__postfix:sym<++>" :subid("242_1272455252.89365") :method
+.sub "!PREFIX__postfix:sym<++>" :subid("242_1272816833.94956") :method
.annotate "line", 422
$P968 = self."!PREFIX__!subrule"("O", "++")
new $P969, "ResizablePMCArray"
@@ -11788,7 +11812,7 @@
.namespace ["NQP";"Grammar"]
-.sub "postfix:sym<-->" :subid("243_1272455252.89365") :method :outer("11_1272455252.89365")
+.sub "postfix:sym<-->" :subid("243_1272816833.94956") :method :outer("11_1272816833.94956")
.annotate "line", 422
.local string rx973_tgt
.local int rx973_pos
@@ -11867,7 +11891,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__postfix:sym<-->" :subid("244_1272455252.89365") :method
+.sub "!PREFIX__postfix:sym<-->" :subid("244_1272816833.94956") :method
.annotate "line", 422
$P975 = self."!PREFIX__!subrule"("O", "--")
new $P976, "ResizablePMCArray"
@@ -11877,7 +11901,7 @@
.namespace ["NQP";"Grammar"]
-.sub "infix:sym<**>" :subid("245_1272455252.89365") :method :outer("11_1272455252.89365")
+.sub "infix:sym<**>" :subid("245_1272816833.94956") :method :outer("11_1272816833.94956")
.annotate "line", 422
.local string rx980_tgt
.local int rx980_pos
@@ -11956,7 +11980,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<**>" :subid("246_1272455252.89365") :method
+.sub "!PREFIX__infix:sym<**>" :subid("246_1272816833.94956") :method
.annotate "line", 422
$P982 = self."!PREFIX__!subrule"("O", "**")
new $P983, "ResizablePMCArray"
@@ -11966,7 +11990,7 @@
.namespace ["NQP";"Grammar"]
-.sub "prefix:sym<+>" :subid("247_1272455252.89365") :method :outer("11_1272455252.89365")
+.sub "prefix:sym<+>" :subid("247_1272816833.94956") :method :outer("11_1272816833.94956")
.annotate "line", 422
.local string rx987_tgt
.local int rx987_pos
@@ -12045,7 +12069,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__prefix:sym<+>" :subid("248_1272455252.89365") :method
+.sub "!PREFIX__prefix:sym<+>" :subid("248_1272816833.94956") :method
.annotate "line", 422
$P989 = self."!PREFIX__!subrule"("O", "+")
new $P990, "ResizablePMCArray"
@@ -12055,7 +12079,7 @@
.namespace ["NQP";"Grammar"]
-.sub "prefix:sym<~>" :subid("249_1272455252.89365") :method :outer("11_1272455252.89365")
+.sub "prefix:sym<~>" :subid("249_1272816833.94956") :method :outer("11_1272816833.94956")
.annotate "line", 422
.local string rx994_tgt
.local int rx994_pos
@@ -12134,7 +12158,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__prefix:sym<~>" :subid("250_1272455252.89365") :method
+.sub "!PREFIX__prefix:sym<~>" :subid("250_1272816833.94956") :method
.annotate "line", 422
$P996 = self."!PREFIX__!subrule"("O", "~")
new $P997, "ResizablePMCArray"
@@ -12144,7 +12168,7 @@
.namespace ["NQP";"Grammar"]
-.sub "prefix:sym<->" :subid("251_1272455252.89365") :method :outer("11_1272455252.89365")
+.sub "prefix:sym<->" :subid("251_1272816833.94956") :method :outer("11_1272816833.94956")
.annotate "line", 422
.local string rx1001_tgt
.local int rx1001_pos
@@ -12233,7 +12257,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__prefix:sym<->" :subid("252_1272455252.89365") :method
+.sub "!PREFIX__prefix:sym<->" :subid("252_1272816833.94956") :method
.annotate "line", 422
new $P1003, "ResizablePMCArray"
push $P1003, "-"
@@ -12242,7 +12266,7 @@
.namespace ["NQP";"Grammar"]
-.sub "prefix:sym<?>" :subid("253_1272455252.89365") :method :outer("11_1272455252.89365")
+.sub "prefix:sym<?>" :subid("253_1272816833.94956") :method :outer("11_1272816833.94956")
.annotate "line", 422
.local string rx1007_tgt
.local int rx1007_pos
@@ -12321,7 +12345,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__prefix:sym<?>" :subid("254_1272455252.89365") :method
+.sub "!PREFIX__prefix:sym<?>" :subid("254_1272816833.94956") :method
.annotate "line", 422
$P1009 = self."!PREFIX__!subrule"("O", "?")
new $P1010, "ResizablePMCArray"
@@ -12331,7 +12355,7 @@
.namespace ["NQP";"Grammar"]
-.sub "prefix:sym<!>" :subid("255_1272455252.89365") :method :outer("11_1272455252.89365")
+.sub "prefix:sym<!>" :subid("255_1272816833.94956") :method :outer("11_1272816833.94956")
.annotate "line", 422
.local string rx1014_tgt
.local int rx1014_pos
@@ -12410,7 +12434,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__prefix:sym<!>" :subid("256_1272455252.89365") :method
+.sub "!PREFIX__prefix:sym<!>" :subid("256_1272816833.94956") :method
.annotate "line", 422
$P1016 = self."!PREFIX__!subrule"("O", "!")
new $P1017, "ResizablePMCArray"
@@ -12420,7 +12444,7 @@
.namespace ["NQP";"Grammar"]
-.sub "prefix:sym<|>" :subid("257_1272455252.89365") :method :outer("11_1272455252.89365")
+.sub "prefix:sym<|>" :subid("257_1272816833.94956") :method :outer("11_1272816833.94956")
.annotate "line", 422
.local string rx1021_tgt
.local int rx1021_pos
@@ -12499,7 +12523,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__prefix:sym<|>" :subid("258_1272455252.89365") :method
+.sub "!PREFIX__prefix:sym<|>" :subid("258_1272816833.94956") :method
.annotate "line", 422
$P1023 = self."!PREFIX__!subrule"("O", "|")
new $P1024, "ResizablePMCArray"
@@ -12509,7 +12533,7 @@
.namespace ["NQP";"Grammar"]
-.sub "infix:sym<*>" :subid("259_1272455252.89365") :method :outer("11_1272455252.89365")
+.sub "infix:sym<*>" :subid("259_1272816833.94956") :method :outer("11_1272816833.94956")
.annotate "line", 422
.local string rx1028_tgt
.local int rx1028_pos
@@ -12588,7 +12612,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<*>" :subid("260_1272455252.89365") :method
+.sub "!PREFIX__infix:sym<*>" :subid("260_1272816833.94956") :method
.annotate "line", 422
$P1030 = self."!PREFIX__!subrule"("O", "*")
new $P1031, "ResizablePMCArray"
@@ -12598,7 +12622,7 @@
.namespace ["NQP";"Grammar"]
-.sub "infix:sym</>" :subid("261_1272455252.89365") :method :outer("11_1272455252.89365")
+.sub "infix:sym</>" :subid("261_1272816833.94956") :method :outer("11_1272816833.94956")
.annotate "line", 422
.local string rx1035_tgt
.local int rx1035_pos
@@ -12677,7 +12701,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym</>" :subid("262_1272455252.89365") :method
+.sub "!PREFIX__infix:sym</>" :subid("262_1272816833.94956") :method
.annotate "line", 422
$P1037 = self."!PREFIX__!subrule"("O", "/")
new $P1038, "ResizablePMCArray"
@@ -12687,7 +12711,7 @@
.namespace ["NQP";"Grammar"]
-.sub "infix:sym<%>" :subid("263_1272455252.89365") :method :outer("11_1272455252.89365")
+.sub "infix:sym<%>" :subid("263_1272816833.94956") :method :outer("11_1272816833.94956")
.annotate "line", 422
.local string rx1042_tgt
.local int rx1042_pos
@@ -12766,7 +12790,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<%>" :subid("264_1272455252.89365") :method
+.sub "!PREFIX__infix:sym<%>" :subid("264_1272816833.94956") :method
.annotate "line", 422
$P1044 = self."!PREFIX__!subrule"("O", "%")
new $P1045, "ResizablePMCArray"
@@ -12776,7 +12800,7 @@
.namespace ["NQP";"Grammar"]
-.sub "infix:sym<+>" :subid("265_1272455252.89365") :method :outer("11_1272455252.89365")
+.sub "infix:sym<+>" :subid("265_1272816833.94956") :method :outer("11_1272816833.94956")
.annotate "line", 422
.local string rx1049_tgt
.local int rx1049_pos
@@ -12855,7 +12879,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<+>" :subid("266_1272455252.89365") :method
+.sub "!PREFIX__infix:sym<+>" :subid("266_1272816833.94956") :method
.annotate "line", 422
$P1051 = self."!PREFIX__!subrule"("O", "+")
new $P1052, "ResizablePMCArray"
@@ -12865,7 +12889,7 @@
.namespace ["NQP";"Grammar"]
-.sub "infix:sym<->" :subid("267_1272455252.89365") :method :outer("11_1272455252.89365")
+.sub "infix:sym<->" :subid("267_1272816833.94956") :method :outer("11_1272816833.94956")
.annotate "line", 422
.local string rx1056_tgt
.local int rx1056_pos
@@ -12944,7 +12968,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<->" :subid("268_1272455252.89365") :method
+.sub "!PREFIX__infix:sym<->" :subid("268_1272816833.94956") :method
.annotate "line", 422
$P1058 = self."!PREFIX__!subrule"("O", "-")
new $P1059, "ResizablePMCArray"
@@ -12954,7 +12978,7 @@
.namespace ["NQP";"Grammar"]
-.sub "infix:sym<~>" :subid("269_1272455252.89365") :method :outer("11_1272455252.89365")
+.sub "infix:sym<~>" :subid("269_1272816833.94956") :method :outer("11_1272816833.94956")
.annotate "line", 422
.local string rx1063_tgt
.local int rx1063_pos
@@ -13033,7 +13057,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<~>" :subid("270_1272455252.89365") :method
+.sub "!PREFIX__infix:sym<~>" :subid("270_1272816833.94956") :method
.annotate "line", 422
$P1065 = self."!PREFIX__!subrule"("O", "~")
new $P1066, "ResizablePMCArray"
@@ -13043,7 +13067,7 @@
.namespace ["NQP";"Grammar"]
-.sub "infix:sym<==>" :subid("271_1272455252.89365") :method :outer("11_1272455252.89365")
+.sub "infix:sym<==>" :subid("271_1272816833.94956") :method :outer("11_1272816833.94956")
.annotate "line", 422
.local string rx1070_tgt
.local int rx1070_pos
@@ -13122,7 +13146,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<==>" :subid("272_1272455252.89365") :method
+.sub "!PREFIX__infix:sym<==>" :subid("272_1272816833.94956") :method
.annotate "line", 422
$P1072 = self."!PREFIX__!subrule"("O", "==")
new $P1073, "ResizablePMCArray"
@@ -13132,7 +13156,7 @@
.namespace ["NQP";"Grammar"]
-.sub "infix:sym<!=>" :subid("273_1272455252.89365") :method :outer("11_1272455252.89365")
+.sub "infix:sym<!=>" :subid("273_1272816833.94956") :method :outer("11_1272816833.94956")
.annotate "line", 422
.local string rx1077_tgt
.local int rx1077_pos
@@ -13211,7 +13235,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<!=>" :subid("274_1272455252.89365") :method
+.sub "!PREFIX__infix:sym<!=>" :subid("274_1272816833.94956") :method
.annotate "line", 422
$P1079 = self."!PREFIX__!subrule"("O", "!=")
new $P1080, "ResizablePMCArray"
@@ -13221,7 +13245,7 @@
.namespace ["NQP";"Grammar"]
-.sub "infix:sym<<=>" :subid("275_1272455252.89365") :method :outer("11_1272455252.89365")
+.sub "infix:sym<<=>" :subid("275_1272816833.94956") :method :outer("11_1272816833.94956")
.annotate "line", 422
.local string rx1084_tgt
.local int rx1084_pos
@@ -13300,7 +13324,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<<=>" :subid("276_1272455252.89365") :method
+.sub "!PREFIX__infix:sym<<=>" :subid("276_1272816833.94956") :method
.annotate "line", 422
$P1086 = self."!PREFIX__!subrule"("O", "<=")
new $P1087, "ResizablePMCArray"
@@ -13310,7 +13334,7 @@
.namespace ["NQP";"Grammar"]
-.sub "infix:sym<>=>" :subid("277_1272455252.89365") :method :outer("11_1272455252.89365")
+.sub "infix:sym<>=>" :subid("277_1272816833.94956") :method :outer("11_1272816833.94956")
.annotate "line", 422
.local string rx1091_tgt
.local int rx1091_pos
@@ -13389,7 +13413,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<>=>" :subid("278_1272455252.89365") :method
+.sub "!PREFIX__infix:sym<>=>" :subid("278_1272816833.94956") :method
.annotate "line", 422
$P1093 = self."!PREFIX__!subrule"("O", ">=")
new $P1094, "ResizablePMCArray"
@@ -13399,7 +13423,7 @@
.namespace ["NQP";"Grammar"]
-.sub "infix:sym<<>" :subid("279_1272455252.89365") :method :outer("11_1272455252.89365")
+.sub "infix:sym<<>" :subid("279_1272816833.94956") :method :outer("11_1272816833.94956")
.annotate "line", 422
.local string rx1098_tgt
.local int rx1098_pos
@@ -13478,7 +13502,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<<>" :subid("280_1272455252.89365") :method
+.sub "!PREFIX__infix:sym<<>" :subid("280_1272816833.94956") :method
.annotate "line", 422
$P1100 = self."!PREFIX__!subrule"("O", "<")
new $P1101, "ResizablePMCArray"
@@ -13488,7 +13512,7 @@
.namespace ["NQP";"Grammar"]
-.sub "infix:sym<>>" :subid("281_1272455252.89365") :method :outer("11_1272455252.89365")
+.sub "infix:sym<>>" :subid("281_1272816833.94956") :method :outer("11_1272816833.94956")
.annotate "line", 422
.local string rx1105_tgt
.local int rx1105_pos
@@ -13567,7 +13591,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<>>" :subid("282_1272455252.89365") :method
+.sub "!PREFIX__infix:sym<>>" :subid("282_1272816833.94956") :method
.annotate "line", 422
$P1107 = self."!PREFIX__!subrule"("O", ">")
new $P1108, "ResizablePMCArray"
@@ -13577,7 +13601,7 @@
.namespace ["NQP";"Grammar"]
-.sub "infix:sym<eq>" :subid("283_1272455252.89365") :method :outer("11_1272455252.89365")
+.sub "infix:sym<eq>" :subid("283_1272816833.94956") :method :outer("11_1272816833.94956")
.annotate "line", 422
.local string rx1112_tgt
.local int rx1112_pos
@@ -13656,7 +13680,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<eq>" :subid("284_1272455252.89365") :method
+.sub "!PREFIX__infix:sym<eq>" :subid("284_1272816833.94956") :method
.annotate "line", 422
$P1114 = self."!PREFIX__!subrule"("O", "eq")
new $P1115, "ResizablePMCArray"
@@ -13666,7 +13690,7 @@
.namespace ["NQP";"Grammar"]
-.sub "infix:sym<ne>" :subid("285_1272455252.89365") :method :outer("11_1272455252.89365")
+.sub "infix:sym<ne>" :subid("285_1272816833.94956") :method :outer("11_1272816833.94956")
.annotate "line", 422
.local string rx1119_tgt
.local int rx1119_pos
@@ -13745,7 +13769,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<ne>" :subid("286_1272455252.89365") :method
+.sub "!PREFIX__infix:sym<ne>" :subid("286_1272816833.94956") :method
.annotate "line", 422
$P1121 = self."!PREFIX__!subrule"("O", "ne")
new $P1122, "ResizablePMCArray"
@@ -13755,7 +13779,7 @@
.namespace ["NQP";"Grammar"]
-.sub "infix:sym<le>" :subid("287_1272455252.89365") :method :outer("11_1272455252.89365")
+.sub "infix:sym<le>" :subid("287_1272816833.94956") :method :outer("11_1272816833.94956")
.annotate "line", 422
.local string rx1126_tgt
.local int rx1126_pos
@@ -13834,7 +13858,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<le>" :subid("288_1272455252.89365") :method
+.sub "!PREFIX__infix:sym<le>" :subid("288_1272816833.94956") :method
.annotate "line", 422
$P1128 = self."!PREFIX__!subrule"("O", "le")
new $P1129, "ResizablePMCArray"
@@ -13844,7 +13868,7 @@
.namespace ["NQP";"Grammar"]
-.sub "infix:sym<ge>" :subid("289_1272455252.89365") :method :outer("11_1272455252.89365")
+.sub "infix:sym<ge>" :subid("289_1272816833.94956") :method :outer("11_1272816833.94956")
.annotate "line", 422
.local string rx1133_tgt
.local int rx1133_pos
@@ -13923,7 +13947,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<ge>" :subid("290_1272455252.89365") :method
+.sub "!PREFIX__infix:sym<ge>" :subid("290_1272816833.94956") :method
.annotate "line", 422
$P1135 = self."!PREFIX__!subrule"("O", "ge")
new $P1136, "ResizablePMCArray"
@@ -13933,7 +13957,7 @@
.namespace ["NQP";"Grammar"]
-.sub "infix:sym<lt>" :subid("291_1272455252.89365") :method :outer("11_1272455252.89365")
+.sub "infix:sym<lt>" :subid("291_1272816833.94956") :method :outer("11_1272816833.94956")
.annotate "line", 422
.local string rx1140_tgt
.local int rx1140_pos
@@ -14012,7 +14036,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<lt>" :subid("292_1272455252.89365") :method
+.sub "!PREFIX__infix:sym<lt>" :subid("292_1272816833.94956") :method
.annotate "line", 422
$P1142 = self."!PREFIX__!subrule"("O", "lt")
new $P1143, "ResizablePMCArray"
@@ -14022,7 +14046,7 @@
.namespace ["NQP";"Grammar"]
-.sub "infix:sym<gt>" :subid("293_1272455252.89365") :method :outer("11_1272455252.89365")
+.sub "infix:sym<gt>" :subid("293_1272816833.94956") :method :outer("11_1272816833.94956")
.annotate "line", 422
.local string rx1147_tgt
.local int rx1147_pos
@@ -14101,7 +14125,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<gt>" :subid("294_1272455252.89365") :method
+.sub "!PREFIX__infix:sym<gt>" :subid("294_1272816833.94956") :method
.annotate "line", 422
$P1149 = self."!PREFIX__!subrule"("O", "gt")
new $P1150, "ResizablePMCArray"
@@ -14111,7 +14135,7 @@
.namespace ["NQP";"Grammar"]
-.sub "infix:sym<=:=>" :subid("295_1272455252.89365") :method :outer("11_1272455252.89365")
+.sub "infix:sym<=:=>" :subid("295_1272816833.94956") :method :outer("11_1272816833.94956")
.annotate "line", 422
.local string rx1154_tgt
.local int rx1154_pos
@@ -14190,7 +14214,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<=:=>" :subid("296_1272455252.89365") :method
+.sub "!PREFIX__infix:sym<=:=>" :subid("296_1272816833.94956") :method
.annotate "line", 422
$P1156 = self."!PREFIX__!subrule"("O", "=:=")
new $P1157, "ResizablePMCArray"
@@ -14200,7 +14224,7 @@
.namespace ["NQP";"Grammar"]
-.sub "infix:sym<~~>" :subid("297_1272455252.89365") :method :outer("11_1272455252.89365")
+.sub "infix:sym<~~>" :subid("297_1272816833.94956") :method :outer("11_1272816833.94956")
.annotate "line", 422
.local string rx1161_tgt
.local int rx1161_pos
@@ -14279,7 +14303,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<~~>" :subid("298_1272455252.89365") :method
+.sub "!PREFIX__infix:sym<~~>" :subid("298_1272816833.94956") :method
.annotate "line", 422
$P1163 = self."!PREFIX__!subrule"("O", "~~")
new $P1164, "ResizablePMCArray"
@@ -14289,7 +14313,7 @@
.namespace ["NQP";"Grammar"]
-.sub "infix:sym<&&>" :subid("299_1272455252.89365") :method :outer("11_1272455252.89365")
+.sub "infix:sym<&&>" :subid("299_1272816833.94956") :method :outer("11_1272816833.94956")
.annotate "line", 422
.local string rx1168_tgt
.local int rx1168_pos
@@ -14368,7 +14392,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<&&>" :subid("300_1272455252.89365") :method
+.sub "!PREFIX__infix:sym<&&>" :subid("300_1272816833.94956") :method
.annotate "line", 422
$P1170 = self."!PREFIX__!subrule"("O", "&&")
new $P1171, "ResizablePMCArray"
@@ -14378,7 +14402,7 @@
.namespace ["NQP";"Grammar"]
-.sub "infix:sym<||>" :subid("301_1272455252.89365") :method :outer("11_1272455252.89365")
+.sub "infix:sym<||>" :subid("301_1272816833.94956") :method :outer("11_1272816833.94956")
.annotate "line", 422
.local string rx1175_tgt
.local int rx1175_pos
@@ -14457,7 +14481,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<||>" :subid("302_1272455252.89365") :method
+.sub "!PREFIX__infix:sym<||>" :subid("302_1272816833.94956") :method
.annotate "line", 422
$P1177 = self."!PREFIX__!subrule"("O", "||")
new $P1178, "ResizablePMCArray"
@@ -14467,7 +14491,7 @@
.namespace ["NQP";"Grammar"]
-.sub "infix:sym<//>" :subid("303_1272455252.89365") :method :outer("11_1272455252.89365")
+.sub "infix:sym<//>" :subid("303_1272816833.94956") :method :outer("11_1272816833.94956")
.annotate "line", 422
.local string rx1182_tgt
.local int rx1182_pos
@@ -14546,7 +14570,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<//>" :subid("304_1272455252.89365") :method
+.sub "!PREFIX__infix:sym<//>" :subid("304_1272816833.94956") :method
.annotate "line", 422
$P1184 = self."!PREFIX__!subrule"("O", "//")
new $P1185, "ResizablePMCArray"
@@ -14556,7 +14580,7 @@
.namespace ["NQP";"Grammar"]
-.sub "infix:sym<?? !!>" :subid("305_1272455252.89365") :method :outer("11_1272455252.89365")
+.sub "infix:sym<?? !!>" :subid("305_1272816833.94956") :method :outer("11_1272816833.94956")
.annotate "line", 422
.local string rx1189_tgt
.local int rx1189_pos
@@ -14645,7 +14669,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<?? !!>" :subid("306_1272455252.89365") :method
+.sub "!PREFIX__infix:sym<?? !!>" :subid("306_1272816833.94956") :method
.annotate "line", 422
$P1191 = self."!PREFIX__!subrule"("", "??")
new $P1192, "ResizablePMCArray"
@@ -14655,7 +14679,7 @@
.namespace ["NQP";"Grammar"]
-.sub "infix:sym<=>" :subid("307_1272455252.89365") :method :outer("11_1272455252.89365")
+.sub "infix:sym<=>" :subid("307_1272816833.94956") :method :outer("11_1272816833.94956")
.annotate "line", 422
.local string rx1195_tgt
.local int rx1195_pos
@@ -14733,7 +14757,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<=>" :subid("308_1272455252.89365") :method
+.sub "!PREFIX__infix:sym<=>" :subid("308_1272816833.94956") :method
.annotate "line", 422
$P1197 = self."!PREFIX__!subrule"("", "=")
new $P1198, "ResizablePMCArray"
@@ -14743,7 +14767,7 @@
.namespace ["NQP";"Grammar"]
-.sub "infix:sym<:=>" :subid("309_1272455252.89365") :method :outer("11_1272455252.89365")
+.sub "infix:sym<:=>" :subid("309_1272816833.94956") :method :outer("11_1272816833.94956")
.annotate "line", 422
.local string rx1202_tgt
.local int rx1202_pos
@@ -14822,7 +14846,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<:=>" :subid("310_1272455252.89365") :method
+.sub "!PREFIX__infix:sym<:=>" :subid("310_1272816833.94956") :method
.annotate "line", 422
$P1204 = self."!PREFIX__!subrule"("O", ":=")
new $P1205, "ResizablePMCArray"
@@ -14832,7 +14856,7 @@
.namespace ["NQP";"Grammar"]
-.sub "infix:sym<::=>" :subid("311_1272455252.89365") :method :outer("11_1272455252.89365")
+.sub "infix:sym<::=>" :subid("311_1272816833.94956") :method :outer("11_1272816833.94956")
.annotate "line", 422
.local string rx1209_tgt
.local int rx1209_pos
@@ -14911,7 +14935,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<::=>" :subid("312_1272455252.89365") :method
+.sub "!PREFIX__infix:sym<::=>" :subid("312_1272816833.94956") :method
.annotate "line", 422
$P1211 = self."!PREFIX__!subrule"("O", "::=")
new $P1212, "ResizablePMCArray"
@@ -14921,7 +14945,7 @@
.namespace ["NQP";"Grammar"]
-.sub "infix:sym<,>" :subid("313_1272455252.89365") :method :outer("11_1272455252.89365")
+.sub "infix:sym<,>" :subid("313_1272816833.94956") :method :outer("11_1272816833.94956")
.annotate "line", 422
.local string rx1216_tgt
.local int rx1216_pos
@@ -15000,7 +15024,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__infix:sym<,>" :subid("314_1272455252.89365") :method
+.sub "!PREFIX__infix:sym<,>" :subid("314_1272816833.94956") :method
.annotate "line", 422
$P1218 = self."!PREFIX__!subrule"("O", ",")
new $P1219, "ResizablePMCArray"
@@ -15010,7 +15034,7 @@
.namespace ["NQP";"Grammar"]
-.sub "prefix:sym<return>" :subid("315_1272455252.89365") :method :outer("11_1272455252.89365")
+.sub "prefix:sym<return>" :subid("315_1272816833.94956") :method :outer("11_1272816833.94956")
.annotate "line", 422
.local string rx1223_tgt
.local int rx1223_pos
@@ -15095,7 +15119,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__prefix:sym<return>" :subid("316_1272455252.89365") :method
+.sub "!PREFIX__prefix:sym<return>" :subid("316_1272816833.94956") :method
.annotate "line", 422
new $P1225, "ResizablePMCArray"
push $P1225, "return"
@@ -15104,7 +15128,7 @@
.namespace ["NQP";"Grammar"]
-.sub "prefix:sym<make>" :subid("317_1272455252.89365") :method :outer("11_1272455252.89365")
+.sub "prefix:sym<make>" :subid("317_1272816833.94956") :method :outer("11_1272816833.94956")
.annotate "line", 422
.local string rx1229_tgt
.local int rx1229_pos
@@ -15189,7 +15213,7 @@
.namespace ["NQP";"Grammar"]
-.sub "!PREFIX__prefix:sym<make>" :subid("318_1272455252.89365") :method
+.sub "!PREFIX__prefix:sym<make>" :subid("318_1272816833.94956") :method
.annotate "line", 422
new $P1231, "ResizablePMCArray"
push $P1231, "make"
@@ -15198,7 +15222,7 @@
.namespace ["NQP";"Grammar"]
-.sub "smartmatch" :subid("319_1272455252.89365") :method :outer("11_1272455252.89365")
+.sub "smartmatch" :subid("319_1272816833.94956") :method :outer("11_1272816833.94956")
.param pmc param_1237
.annotate "line", 530
new $P1236, 'ExceptionHandler'
@@ -15251,28 +15275,28 @@
.namespace ["NQP";"Regex"]
-.sub "_block1247" :subid("320_1272455252.89365") :outer("11_1272455252.89365")
+.sub "_block1247" :subid("320_1272816833.94956") :outer("11_1272816833.94956")
.annotate "line", 536
- .const 'Sub' $P1281 = "331_1272455252.89365"
+ .const 'Sub' $P1281 = "331_1272816833.94956"
capture_lex $P1281
- .const 'Sub' $P1268 = "328_1272455252.89365"
+ .const 'Sub' $P1268 = "328_1272816833.94956"
capture_lex $P1268
- .const 'Sub' $P1263 = "326_1272455252.89365"
+ .const 'Sub' $P1263 = "326_1272816833.94956"
capture_lex $P1263
- .const 'Sub' $P1258 = "324_1272455252.89365"
+ .const 'Sub' $P1258 = "324_1272816833.94956"
capture_lex $P1258
- .const 'Sub' $P1249 = "321_1272455252.89365"
+ .const 'Sub' $P1249 = "321_1272816833.94956"
capture_lex $P1249
- .const 'Sub' $P1281 = "331_1272455252.89365"
+ .const 'Sub' $P1281 = "331_1272816833.94956"
capture_lex $P1281
.return ($P1281)
.end
.namespace ["NQP";"Regex"]
-.sub "metachar:sym<:my>" :subid("321_1272455252.89365") :method :outer("320_1272455252.89365")
+.sub "metachar:sym<:my>" :subid("321_1272816833.94956") :method :outer("320_1272816833.94956")
.annotate "line", 536
- .const 'Sub' $P1255 = "323_1272455252.89365"
+ .const 'Sub' $P1255 = "323_1272816833.94956"
capture_lex $P1255
.local string rx1250_tgt
.local int rx1250_pos
@@ -15313,7 +15337,7 @@
add rx1250_pos, 1
# rx subrule "before" subtype=zerowidth negate=
rx1250_cur."!cursor_pos"(rx1250_pos)
- .const 'Sub' $P1255 = "323_1272455252.89365"
+ .const 'Sub' $P1255 = "323_1272816833.94956"
capture_lex $P1255
$P10 = rx1250_cur."before"($P1255)
unless $P10, rx1250_fail
@@ -15356,7 +15380,7 @@
.namespace ["NQP";"Regex"]
-.sub "!PREFIX__metachar:sym<:my>" :subid("322_1272455252.89365") :method
+.sub "!PREFIX__metachar:sym<:my>" :subid("322_1272816833.94956") :method
.annotate "line", 536
new $P1252, "ResizablePMCArray"
push $P1252, ":"
@@ -15365,7 +15389,7 @@
.namespace ["NQP";"Regex"]
-.sub "_block1254" :anon :subid("323_1272455252.89365") :method :outer("321_1272455252.89365")
+.sub "_block1254" :anon :subid("323_1272816833.94956") :method :outer("321_1272816833.94956")
.annotate "line", 538
.local string rx1256_tgt
.local int rx1256_pos
@@ -15421,7 +15445,7 @@
.namespace ["NQP";"Regex"]
-.sub "metachar:sym<{ }>" :subid("324_1272455252.89365") :method :outer("320_1272455252.89365")
+.sub "metachar:sym<{ }>" :subid("324_1272816833.94956") :method :outer("320_1272816833.94956")
.annotate "line", 536
.local string rx1259_tgt
.local int rx1259_pos
@@ -15486,7 +15510,7 @@
.namespace ["NQP";"Regex"]
-.sub "!PREFIX__metachar:sym<{ }>" :subid("325_1272455252.89365") :method
+.sub "!PREFIX__metachar:sym<{ }>" :subid("325_1272816833.94956") :method
.annotate "line", 536
new $P1261, "ResizablePMCArray"
push $P1261, "{"
@@ -15495,7 +15519,7 @@
.namespace ["NQP";"Regex"]
-.sub "assertion:sym<{ }>" :subid("326_1272455252.89365") :method :outer("320_1272455252.89365")
+.sub "assertion:sym<{ }>" :subid("326_1272816833.94956") :method :outer("320_1272816833.94956")
.annotate "line", 536
.local string rx1264_tgt
.local int rx1264_pos
@@ -15560,7 +15584,7 @@
.namespace ["NQP";"Regex"]
-.sub "!PREFIX__assertion:sym<{ }>" :subid("327_1272455252.89365") :method
+.sub "!PREFIX__assertion:sym<{ }>" :subid("327_1272816833.94956") :method
.annotate "line", 536
new $P1266, "ResizablePMCArray"
push $P1266, "{"
@@ -15569,9 +15593,9 @@
.namespace ["NQP";"Regex"]
-.sub "assertion:sym<name>" :subid("328_1272455252.89365") :method :outer("320_1272455252.89365")
+.sub "assertion:sym<name>" :subid("328_1272816833.94956") :method :outer("320_1272816833.94956")
.annotate "line", 536
- .const 'Sub' $P1277 = "330_1272455252.89365"
+ .const 'Sub' $P1277 = "330_1272816833.94956"
capture_lex $P1277
.local string rx1269_tgt
.local int rx1269_pos
@@ -15581,7 +15605,7 @@
.local pmc rx1269_cur
(rx1269_cur, rx1269_pos, rx1269_tgt) = self."!cursor_start"()
rx1269_cur."!cursor_debug"("START ", "assertion:sym<name>")
- rx1269_cur."!cursor_caparray"("arglist", "nibbler", "assertion")
+ rx1269_cur."!cursor_caparray"("nibbler", "arglist", "assertion")
.lex unicode:"$\x{a2}", rx1269_cur
.local pmc match
.lex "$/", match
@@ -15636,7 +15660,7 @@
.annotate "line", 552
# rx subrule "before" subtype=zerowidth negate=
rx1269_cur."!cursor_pos"(rx1269_pos)
- .const 'Sub' $P1277 = "330_1272455252.89365"
+ .const 'Sub' $P1277 = "330_1272816833.94956"
capture_lex $P1277
$P10 = rx1269_cur."before"($P1277)
unless $P10, rx1269_fail
@@ -15743,7 +15767,7 @@
.namespace ["NQP";"Regex"]
-.sub "!PREFIX__assertion:sym<name>" :subid("329_1272455252.89365") :method
+.sub "!PREFIX__assertion:sym<name>" :subid("329_1272816833.94956") :method
.annotate "line", 536
new $P1271, "ResizablePMCArray"
push $P1271, ""
@@ -15752,7 +15776,7 @@
.namespace ["NQP";"Regex"]
-.sub "_block1276" :anon :subid("330_1272455252.89365") :method :outer("328_1272455252.89365")
+.sub "_block1276" :anon :subid("330_1272816833.94956") :method :outer("328_1272816833.94956")
.annotate "line", 552
.local string rx1278_tgt
.local int rx1278_pos
@@ -15808,7 +15832,7 @@
.namespace ["NQP";"Regex"]
-.sub "codeblock" :subid("331_1272455252.89365") :method :outer("320_1272455252.89365")
+.sub "codeblock" :subid("331_1272816833.94956") :method :outer("320_1272816833.94956")
.annotate "line", 536
.local string rx1282_tgt
.local int rx1282_pos
@@ -15867,7 +15891,7 @@
.namespace ["NQP";"Regex"]
-.sub "!PREFIX__codeblock" :subid("332_1272455252.89365") :method
+.sub "!PREFIX__codeblock" :subid("332_1272816833.94956") :method
.annotate "line", 536
$P1284 = self."!PREFIX__!subrule"("block", "")
new $P1285, "ResizablePMCArray"
@@ -15878,7 +15902,7 @@
### .include 'gen/nqp-actions.pir'
.namespace []
-.sub "_block11" :anon :subid("10_1272455259.05437")
+.sub "_block11" :anon :subid("10_1272816841.80681")
.annotate "line", 0
get_hll_global $P14, ["NQP";"Actions"], "_block13"
capture_lex $P14
@@ -15892,9 +15916,9 @@
.namespace []
-.sub "" :load :init :subid("post127") :outer("10_1272455259.05437")
+.sub "" :load :init :subid("post127") :outer("10_1272816841.80681")
.annotate "line", 0
- .const 'Sub' $P12 = "10_1272455259.05437"
+ .const 'Sub' $P12 = "10_1272816841.80681"
.local pmc block
set block, $P12
$P2176 = get_root_global ["parrot"], "P6metaclass"
@@ -15903,201 +15927,201 @@
.namespace ["NQP";"Actions"]
-.sub "_block13" :subid("11_1272455259.05437") :outer("10_1272455259.05437")
+.sub "_block13" :subid("11_1272816841.80681") :outer("10_1272816841.80681")
.annotate "line", 3
- .const 'Sub' $P2171 = "126_1272455259.05437"
+ .const 'Sub' $P2171 = "126_1272816841.80681"
capture_lex $P2171
get_hll_global $P2107, ["NQP";"RegexActions"], "_block2106"
capture_lex $P2107
- .const 'Sub' $P2096 = "120_1272455259.05437"
+ .const 'Sub' $P2096 = "120_1272816841.80681"
capture_lex $P2096
- .const 'Sub' $P2084 = "119_1272455259.05437"
+ .const 'Sub' $P2084 = "119_1272816841.80681"
capture_lex $P2084
- .const 'Sub' $P2074 = "118_1272455259.05437"
+ .const 'Sub' $P2074 = "118_1272816841.80681"
capture_lex $P2074
- .const 'Sub' $P2064 = "117_1272455259.05437"
+ .const 'Sub' $P2064 = "117_1272816841.80681"
capture_lex $P2064
- .const 'Sub' $P2054 = "116_1272455259.05437"
+ .const 'Sub' $P2054 = "116_1272816841.80681"
capture_lex $P2054
- .const 'Sub' $P2047 = "115_1272455259.05437"
+ .const 'Sub' $P2047 = "115_1272816841.80681"
capture_lex $P2047
- .const 'Sub' $P2033 = "114_1272455259.05437"
+ .const 'Sub' $P2033 = "114_1272816841.80681"
capture_lex $P2033
- .const 'Sub' $P2023 = "113_1272455259.05437"
+ .const 'Sub' $P2023 = "113_1272816841.80681"
capture_lex $P2023
- .const 'Sub' $P1986 = "112_1272455259.05437"
+ .const 'Sub' $P1986 = "112_1272816841.80681"
capture_lex $P1986
- .const 'Sub' $P1972 = "111_1272455259.05437"
+ .const 'Sub' $P1972 = "111_1272816841.80681"
capture_lex $P1972
- .const 'Sub' $P1962 = "110_1272455259.05437"
+ .const 'Sub' $P1962 = "110_1272816841.80681"
capture_lex $P1962
- .const 'Sub' $P1952 = "109_1272455259.05437"
+ .const 'Sub' $P1952 = "109_1272816841.80681"
capture_lex $P1952
- .const 'Sub' $P1942 = "108_1272455259.05437"
+ .const 'Sub' $P1942 = "108_1272816841.80681"
capture_lex $P1942
- .const 'Sub' $P1932 = "107_1272455259.05437"
+ .const 'Sub' $P1932 = "107_1272816841.80681"
capture_lex $P1932
- .const 'Sub' $P1922 = "106_1272455259.05437"
+ .const 'Sub' $P1922 = "106_1272816841.80681"
capture_lex $P1922
- .const 'Sub' $P1894 = "105_1272455259.05437"
+ .const 'Sub' $P1894 = "105_1272816841.80681"
capture_lex $P1894
- .const 'Sub' $P1877 = "104_1272455259.05437"
+ .const 'Sub' $P1877 = "104_1272816841.80681"
capture_lex $P1877
- .const 'Sub' $P1867 = "103_1272455259.05437"
+ .const 'Sub' $P1867 = "103_1272816841.80681"
capture_lex $P1867
- .const 'Sub' $P1854 = "102_1272455259.05437"
+ .const 'Sub' $P1854 = "102_1272816841.80681"
capture_lex $P1854
- .const 'Sub' $P1841 = "101_1272455259.05437"
+ .const 'Sub' $P1841 = "101_1272816841.80681"
capture_lex $P1841
- .const 'Sub' $P1828 = "100_1272455259.05437"
+ .const 'Sub' $P1828 = "100_1272816841.80681"
capture_lex $P1828
- .const 'Sub' $P1818 = "99_1272455259.05437"
+ .const 'Sub' $P1818 = "99_1272816841.80681"
capture_lex $P1818
- .const 'Sub' $P1789 = "98_1272455259.05437"
+ .const 'Sub' $P1789 = "98_1272816841.80681"
capture_lex $P1789
- .const 'Sub' $P1769 = "97_1272455259.05437"
+ .const 'Sub' $P1769 = "97_1272816841.80681"
capture_lex $P1769
- .const 'Sub' $P1759 = "96_1272455259.05437"
+ .const 'Sub' $P1759 = "96_1272816841.80681"
capture_lex $P1759
- .const 'Sub' $P1749 = "95_1272455259.05437"
+ .const 'Sub' $P1749 = "95_1272816841.80681"
capture_lex $P1749
- .const 'Sub' $P1722 = "94_1272455259.05437"
+ .const 'Sub' $P1722 = "94_1272816841.80681"
capture_lex $P1722
- .const 'Sub' $P1704 = "93_1272455259.05437"
+ .const 'Sub' $P1704 = "93_1272816841.80681"
capture_lex $P1704
- .const 'Sub' $P1694 = "92_1272455259.05437"
+ .const 'Sub' $P1694 = "92_1272816841.80681"
capture_lex $P1694
- .const 'Sub' $P1610 = "89_1272455259.05437"
+ .const 'Sub' $P1610 = "89_1272816841.80681"
capture_lex $P1610
- .const 'Sub' $P1600 = "88_1272455259.05437"
+ .const 'Sub' $P1600 = "88_1272816841.80681"
capture_lex $P1600
- .const 'Sub' $P1571 = "87_1272455259.05437"
+ .const 'Sub' $P1571 = "87_1272816841.80681"
capture_lex $P1571
- .const 'Sub' $P1529 = "86_1272455259.05437"
+ .const 'Sub' $P1529 = "86_1272816841.80681"
capture_lex $P1529
- .const 'Sub' $P1513 = "85_1272455259.05437"
+ .const 'Sub' $P1513 = "85_1272816841.80681"
capture_lex $P1513
- .const 'Sub' $P1504 = "84_1272455259.05437"
+ .const 'Sub' $P1504 = "84_1272816841.80681"
capture_lex $P1504
- .const 'Sub' $P1472 = "83_1272455259.05437"
+ .const 'Sub' $P1472 = "83_1272816841.80681"
capture_lex $P1472
- .const 'Sub' $P1373 = "80_1272455259.05437"
+ .const 'Sub' $P1373 = "80_1272816841.80681"
capture_lex $P1373
- .const 'Sub' $P1356 = "79_1272455259.05437"
+ .const 'Sub' $P1356 = "79_1272816841.80681"
capture_lex $P1356
- .const 'Sub' $P1336 = "78_1272455259.05437"
+ .const 'Sub' $P1336 = "78_1272816841.80681"
capture_lex $P1336
- .const 'Sub' $P1252 = "77_1272455259.05437"
+ .const 'Sub' $P1252 = "77_1272816841.80681"
capture_lex $P1252
- .const 'Sub' $P1228 = "75_1272455259.05437"
+ .const 'Sub' $P1228 = "75_1272816841.80681"
capture_lex $P1228
- .const 'Sub' $P1194 = "73_1272455259.05437"
+ .const 'Sub' $P1194 = "73_1272816841.80681"
capture_lex $P1194
- .const 'Sub' $P1144 = "71_1272455259.05437"
+ .const 'Sub' $P1144 = "71_1272816841.80681"
capture_lex $P1144
- .const 'Sub' $P1134 = "70_1272455259.05437"
+ .const 'Sub' $P1134 = "70_1272816841.80681"
capture_lex $P1134
- .const 'Sub' $P1124 = "69_1272455259.05437"
+ .const 'Sub' $P1124 = "69_1272816841.80681"
capture_lex $P1124
- .const 'Sub' $P1053 = "67_1272455259.05437"
+ .const 'Sub' $P1053 = "67_1272816841.80681"
capture_lex $P1053
- .const 'Sub' $P1036 = "66_1272455259.05437"
+ .const 'Sub' $P1036 = "66_1272816841.80681"
capture_lex $P1036
- .const 'Sub' $P1026 = "65_1272455259.05437"
+ .const 'Sub' $P1026 = "65_1272816841.80681"
capture_lex $P1026
- .const 'Sub' $P1016 = "64_1272455259.05437"
+ .const 'Sub' $P1016 = "64_1272816841.80681"
capture_lex $P1016
- .const 'Sub' $P1006 = "63_1272455259.05437"
+ .const 'Sub' $P1006 = "63_1272816841.80681"
capture_lex $P1006
- .const 'Sub' $P982 = "62_1272455259.05437"
+ .const 'Sub' $P982 = "62_1272816841.80681"
capture_lex $P982
- .const 'Sub' $P929 = "61_1272455259.05437"
+ .const 'Sub' $P929 = "61_1272816841.80681"
capture_lex $P929
- .const 'Sub' $P919 = "60_1272455259.05437"
+ .const 'Sub' $P919 = "60_1272816841.80681"
capture_lex $P919
- .const 'Sub' $P830 = "58_1272455259.05437"
+ .const 'Sub' $P830 = "58_1272816841.80681"
capture_lex $P830
- .const 'Sub' $P804 = "57_1272455259.05437"
+ .const 'Sub' $P804 = "57_1272816841.80681"
capture_lex $P804
- .const 'Sub' $P788 = "56_1272455259.05437"
+ .const 'Sub' $P788 = "56_1272816841.80681"
capture_lex $P788
- .const 'Sub' $P778 = "55_1272455259.05437"
+ .const 'Sub' $P778 = "55_1272816841.80681"
capture_lex $P778
- .const 'Sub' $P768 = "54_1272455259.05437"
+ .const 'Sub' $P768 = "54_1272816841.80681"
capture_lex $P768
- .const 'Sub' $P758 = "53_1272455259.05437"
+ .const 'Sub' $P758 = "53_1272816841.80681"
capture_lex $P758
- .const 'Sub' $P748 = "52_1272455259.05437"
+ .const 'Sub' $P748 = "52_1272816841.80681"
capture_lex $P748
- .const 'Sub' $P738 = "51_1272455259.05437"
+ .const 'Sub' $P738 = "51_1272816841.80681"
capture_lex $P738
- .const 'Sub' $P728 = "50_1272455259.05437"
+ .const 'Sub' $P728 = "50_1272816841.80681"
capture_lex $P728
- .const 'Sub' $P718 = "49_1272455259.05437"
+ .const 'Sub' $P718 = "49_1272816841.80681"
capture_lex $P718
- .const 'Sub' $P708 = "48_1272455259.05437"
+ .const 'Sub' $P708 = "48_1272816841.80681"
capture_lex $P708
- .const 'Sub' $P698 = "47_1272455259.05437"
+ .const 'Sub' $P698 = "47_1272816841.80681"
capture_lex $P698
- .const 'Sub' $P688 = "46_1272455259.05437"
+ .const 'Sub' $P688 = "46_1272816841.80681"
capture_lex $P688
- .const 'Sub' $P678 = "45_1272455259.05437"
+ .const 'Sub' $P678 = "45_1272816841.80681"
capture_lex $P678
- .const 'Sub' $P668 = "44_1272455259.05437"
+ .const 'Sub' $P668 = "44_1272816841.80681"
capture_lex $P668
- .const 'Sub' $P658 = "43_1272455259.05437"
+ .const 'Sub' $P658 = "43_1272816841.80681"
capture_lex $P658
- .const 'Sub' $P640 = "42_1272455259.05437"
+ .const 'Sub' $P640 = "42_1272816841.80681"
capture_lex $P640
- .const 'Sub' $P605 = "41_1272455259.05437"
+ .const 'Sub' $P605 = "41_1272816841.80681"
capture_lex $P605
- .const 'Sub' $P589 = "40_1272455259.05437"
+ .const 'Sub' $P589 = "40_1272816841.80681"
capture_lex $P589
- .const 'Sub' $P568 = "39_1272455259.05437"
+ .const 'Sub' $P568 = "39_1272816841.80681"
capture_lex $P568
- .const 'Sub' $P548 = "38_1272455259.05437"
+ .const 'Sub' $P548 = "38_1272816841.80681"
capture_lex $P548
- .const 'Sub' $P535 = "37_1272455259.05437"
+ .const 'Sub' $P535 = "37_1272816841.80681"
capture_lex $P535
- .const 'Sub' $P509 = "36_1272455259.05437"
+ .const 'Sub' $P509 = "36_1272816841.80681"
capture_lex $P509
- .const 'Sub' $P473 = "35_1272455259.05437"
+ .const 'Sub' $P473 = "35_1272816841.80681"
capture_lex $P473
- .const 'Sub' $P456 = "34_1272455259.05437"
+ .const 'Sub' $P456 = "34_1272816841.80681"
capture_lex $P456
- .const 'Sub' $P442 = "33_1272455259.05437"
+ .const 'Sub' $P442 = "33_1272816841.80681"
capture_lex $P442
- .const 'Sub' $P389 = "31_1272455259.05437"
+ .const 'Sub' $P389 = "31_1272816841.80681"
capture_lex $P389
- .const 'Sub' $P376 = "30_1272455259.05437"
+ .const 'Sub' $P376 = "30_1272816841.80681"
capture_lex $P376
- .const 'Sub' $P357 = "29_1272455259.05437"
+ .const 'Sub' $P357 = "29_1272816841.80681"
capture_lex $P357
- .const 'Sub' $P347 = "28_1272455259.05437"
+ .const 'Sub' $P347 = "28_1272816841.80681"
capture_lex $P347
- .const 'Sub' $P337 = "27_1272455259.05437"
+ .const 'Sub' $P337 = "27_1272816841.80681"
capture_lex $P337
- .const 'Sub' $P321 = "26_1272455259.05437"
+ .const 'Sub' $P321 = "26_1272816841.80681"
capture_lex $P321
- .const 'Sub' $P261 = "24_1272455259.05437"
+ .const 'Sub' $P261 = "24_1272816841.80681"
capture_lex $P261
- .const 'Sub' $P212 = "22_1272455259.05437"
+ .const 'Sub' $P212 = "22_1272816841.80681"
capture_lex $P212
- .const 'Sub' $P193 = "21_1272455259.05437"
+ .const 'Sub' $P193 = "21_1272816841.80681"
capture_lex $P193
- .const 'Sub' $P160 = "20_1272455259.05437"
+ .const 'Sub' $P160 = "20_1272816841.80681"
capture_lex $P160
- .const 'Sub' $P150 = "19_1272455259.05437"
+ .const 'Sub' $P150 = "19_1272816841.80681"
capture_lex $P150
- .const 'Sub' $P96 = "18_1272455259.05437"
+ .const 'Sub' $P96 = "18_1272816841.80681"
capture_lex $P96
- .const 'Sub' $P81 = "17_1272455259.05437"
+ .const 'Sub' $P81 = "17_1272816841.80681"
capture_lex $P81
- .const 'Sub' $P61 = "16_1272455259.05437"
+ .const 'Sub' $P61 = "16_1272816841.80681"
capture_lex $P61
- .const 'Sub' $P26 = "13_1272455259.05437"
+ .const 'Sub' $P26 = "13_1272816841.80681"
capture_lex $P26
- .const 'Sub' $P16 = "12_1272455259.05437"
+ .const 'Sub' $P16 = "12_1272816841.80681"
capture_lex $P16
get_global $P15, "@BLOCK"
unless_null $P15, vivify_130
@@ -16105,23 +16129,23 @@
set_global "@BLOCK", $P15
vivify_130:
.annotate "line", 9
- .const 'Sub' $P16 = "12_1272455259.05437"
+ .const 'Sub' $P16 = "12_1272816841.80681"
capture_lex $P16
.lex "xblock_immediate", $P16
.annotate "line", 14
- .const 'Sub' $P26 = "13_1272455259.05437"
+ .const 'Sub' $P26 = "13_1272816841.80681"
capture_lex $P26
.lex "block_immediate", $P26
.annotate "line", 24
- .const 'Sub' $P61 = "16_1272455259.05437"
+ .const 'Sub' $P61 = "16_1272816841.80681"
capture_lex $P61
.lex "vivitype", $P61
.annotate "line", 43
- .const 'Sub' $P81 = "17_1272455259.05437"
+ .const 'Sub' $P81 = "17_1272816841.80681"
capture_lex $P81
.lex "colonpair_str", $P81
.annotate "line", 190
- .const 'Sub' $P96 = "18_1272455259.05437"
+ .const 'Sub' $P96 = "18_1272816841.80681"
capture_lex $P96
.lex "push_block_handler", $P96
.annotate "line", 3
@@ -16144,13 +16168,13 @@
.namespace ["NQP";"Actions"]
-.sub "" :load :init :subid("post128") :outer("11_1272455259.05437")
+.sub "" :load :init :subid("post128") :outer("11_1272816841.80681")
.annotate "line", 3
get_hll_global $P14, ["NQP";"Actions"], "_block13"
.local pmc block
set block, $P14
.annotate "line", 5
- .const 'Sub' $P2171 = "126_1272455259.05437"
+ .const 'Sub' $P2171 = "126_1272816841.80681"
capture_lex $P2171
$P2171()
$P2174 = get_root_global ["parrot"], "P6metaclass"
@@ -16159,7 +16183,7 @@
.namespace ["NQP";"Actions"]
-.sub "_block2170" :anon :subid("126_1272455259.05437") :outer("11_1272455259.05437")
+.sub "_block2170" :anon :subid("126_1272816841.80681") :outer("11_1272816841.80681")
.annotate "line", 6
get_global $P2172, "@BLOCK"
unless_null $P2172, vivify_129
@@ -16174,7 +16198,7 @@
.namespace ["NQP";"Actions"]
-.sub "xblock_immediate" :subid("12_1272455259.05437") :outer("11_1272455259.05437")
+.sub "xblock_immediate" :subid("12_1272816841.80681") :outer("11_1272816841.80681")
.param pmc param_19
.annotate "line", 9
new $P18, 'ExceptionHandler'
@@ -16210,10 +16234,10 @@
.namespace ["NQP";"Actions"]
-.sub "block_immediate" :subid("13_1272455259.05437") :outer("11_1272455259.05437")
+.sub "block_immediate" :subid("13_1272816841.80681") :outer("11_1272816841.80681")
.param pmc param_29
.annotate "line", 14
- .const 'Sub' $P39 = "14_1272455259.05437"
+ .const 'Sub' $P39 = "14_1272816841.80681"
capture_lex $P39
new $P28, 'ExceptionHandler'
set_addr $P28, control_27
@@ -16235,7 +16259,7 @@
set $P32, $P37
unless_33_end:
if $P32, unless_31_end
- .const 'Sub' $P39 = "14_1272455259.05437"
+ .const 'Sub' $P39 = "14_1272816841.80681"
capture_lex $P39
$P39()
unless_31_end:
@@ -16251,9 +16275,9 @@
.namespace ["NQP";"Actions"]
-.sub "_block38" :anon :subid("14_1272455259.05437") :outer("13_1272455259.05437")
+.sub "_block38" :anon :subid("14_1272816841.80681") :outer("13_1272816841.80681")
.annotate "line", 16
- .const 'Sub' $P50 = "15_1272455259.05437"
+ .const 'Sub' $P50 = "15_1272816841.80681"
capture_lex $P50
.annotate "line", 17
new $P40, "Undef"
@@ -16276,7 +16300,7 @@
unless $P44, loop55_done
shift $P48, $P44
loop55_redo:
- .const 'Sub' $P50 = "15_1272455259.05437"
+ .const 'Sub' $P50 = "15_1272816841.80681"
capture_lex $P50
$P50($P48)
loop55_next:
@@ -16299,7 +16323,7 @@
.namespace ["NQP";"Actions"]
-.sub "_block49" :anon :subid("15_1272455259.05437") :outer("14_1272455259.05437")
+.sub "_block49" :anon :subid("15_1272816841.80681") :outer("14_1272816841.80681")
.param pmc param_51
.annotate "line", 18
.lex "$_", param_51
@@ -16311,7 +16335,7 @@
.namespace ["NQP";"Actions"]
-.sub "vivitype" :subid("16_1272455259.05437") :outer("11_1272455259.05437")
+.sub "vivitype" :subid("16_1272816841.80681") :outer("11_1272816841.80681")
.param pmc param_64
.annotate "line", 24
new $P63, 'ExceptionHandler'
@@ -16359,7 +16383,7 @@
.namespace ["NQP";"Actions"]
-.sub "colonpair_str" :subid("17_1272455259.05437") :outer("11_1272455259.05437")
+.sub "colonpair_str" :subid("17_1272816841.80681") :outer("11_1272816841.80681")
.param pmc param_84
.annotate "line", 43
new $P83, 'ExceptionHandler'
@@ -16397,7 +16421,7 @@
.namespace ["NQP";"Actions"]
-.sub "push_block_handler" :subid("18_1272455259.05437") :outer("11_1272455259.05437")
+.sub "push_block_handler" :subid("18_1272816841.80681") :outer("11_1272816841.80681")
.param pmc param_99
.param pmc param_100
.annotate "line", 190
@@ -16514,7 +16538,7 @@
.namespace ["NQP";"Actions"]
-.sub "TOP" :subid("19_1272455259.05437") :method :outer("11_1272455259.05437")
+.sub "TOP" :subid("19_1272816841.80681") :method :outer("11_1272816841.80681")
.param pmc param_153
.annotate "line", 33
new $P152, 'ExceptionHandler'
@@ -16544,7 +16568,7 @@
.namespace ["NQP";"Actions"]
-.sub "deflongname" :subid("20_1272455259.05437") :method :outer("11_1272455259.05437")
+.sub "deflongname" :subid("20_1272816841.80681") :method :outer("11_1272816841.80681")
.param pmc param_163
.annotate "line", 35
new $P162, 'ExceptionHandler'
@@ -16633,7 +16657,7 @@
.namespace ["NQP";"Actions"]
-.sub "comp_unit" :subid("21_1272455259.05437") :method :outer("11_1272455259.05437")
+.sub "comp_unit" :subid("21_1272816841.80681") :method :outer("11_1272816841.80681")
.param pmc param_196
.annotate "line", 49
new $P195, 'ExceptionHandler'
@@ -16686,10 +16710,10 @@
.namespace ["NQP";"Actions"]
-.sub "statementlist" :subid("22_1272455259.05437") :method :outer("11_1272455259.05437")
+.sub "statementlist" :subid("22_1272816841.80681") :method :outer("11_1272816841.80681")
.param pmc param_215
.annotate "line", 57
- .const 'Sub' $P229 = "23_1272455259.05437"
+ .const 'Sub' $P229 = "23_1272816841.80681"
capture_lex $P229
new $P214, 'ExceptionHandler'
set_addr $P214, control_213
@@ -16734,7 +16758,7 @@
unless $P223, loop254_done
shift $P227, $P223
loop254_redo:
- .const 'Sub' $P229 = "23_1272455259.05437"
+ .const 'Sub' $P229 = "23_1272816841.80681"
capture_lex $P229
$P229($P227)
loop254_next:
@@ -16764,7 +16788,7 @@
.namespace ["NQP";"Actions"]
-.sub "_block228" :anon :subid("23_1272455259.05437") :outer("22_1272455259.05437")
+.sub "_block228" :anon :subid("23_1272816841.80681") :outer("22_1272816841.80681")
.param pmc param_231
.annotate "line", 61
new $P230, "Undef"
@@ -16824,12 +16848,12 @@
.namespace ["NQP";"Actions"]
-.sub "statement" :subid("24_1272455259.05437") :method :outer("11_1272455259.05437")
+.sub "statement" :subid("24_1272816841.80681") :method :outer("11_1272816841.80681")
.param pmc param_264
.param pmc param_265 :optional
.param int has_param_265 :opt_flag
.annotate "line", 72
- .const 'Sub' $P273 = "25_1272455259.05437"
+ .const 'Sub' $P273 = "25_1272816841.80681"
capture_lex $P273
new $P263, 'ExceptionHandler'
set_addr $P263, control_262
@@ -16888,7 +16912,7 @@
goto if_269_end
if_269:
.annotate "line", 74
- .const 'Sub' $P273 = "25_1272455259.05437"
+ .const 'Sub' $P273 = "25_1272816841.80681"
capture_lex $P273
$P273()
if_269_end:
@@ -16907,7 +16931,7 @@
.namespace ["NQP";"Actions"]
-.sub "_block272" :anon :subid("25_1272455259.05437") :outer("24_1272455259.05437")
+.sub "_block272" :anon :subid("25_1272816841.80681") :outer("24_1272816841.80681")
.annotate "line", 75
new $P274, "Undef"
.lex "$mc", $P274
@@ -17020,7 +17044,7 @@
.namespace ["NQP";"Actions"]
-.sub "xblock" :subid("26_1272455259.05437") :method :outer("11_1272455259.05437")
+.sub "xblock" :subid("26_1272816841.80681") :method :outer("11_1272816841.80681")
.param pmc param_324
.annotate "line", 90
new $P323, 'ExceptionHandler'
@@ -17064,7 +17088,7 @@
.namespace ["NQP";"Actions"]
-.sub "pblock" :subid("27_1272455259.05437") :method :outer("11_1272455259.05437")
+.sub "pblock" :subid("27_1272816841.80681") :method :outer("11_1272816841.80681")
.param pmc param_340
.annotate "line", 94
new $P339, 'ExceptionHandler'
@@ -17096,7 +17120,7 @@
.namespace ["NQP";"Actions"]
-.sub "block" :subid("28_1272455259.05437") :method :outer("11_1272455259.05437")
+.sub "block" :subid("28_1272816841.80681") :method :outer("11_1272816841.80681")
.param pmc param_350
.annotate "line", 98
new $P349, 'ExceptionHandler'
@@ -17128,7 +17152,7 @@
.namespace ["NQP";"Actions"]
-.sub "blockoid" :subid("29_1272455259.05437") :method :outer("11_1272455259.05437")
+.sub "blockoid" :subid("29_1272816841.80681") :method :outer("11_1272816841.80681")
.param pmc param_360
.annotate "line", 102
new $P359, 'ExceptionHandler'
@@ -17181,7 +17205,7 @@
.namespace ["NQP";"Actions"]
-.sub "newpad" :subid("30_1272455259.05437") :method :outer("11_1272455259.05437")
+.sub "newpad" :subid("30_1272816841.80681") :method :outer("11_1272816841.80681")
.param pmc param_379
.annotate "line", 110
new $P378, 'ExceptionHandler'
@@ -17216,10 +17240,10 @@
.namespace ["NQP";"Actions"]
-.sub "statement_control:sym<if>" :subid("31_1272455259.05437") :method :outer("11_1272455259.05437")
+.sub "statement_control:sym<if>" :subid("31_1272816841.80681") :method :outer("11_1272816841.80681")
.param pmc param_392
.annotate "line", 117
- .const 'Sub' $P420 = "32_1272455259.05437"
+ .const 'Sub' $P420 = "32_1272816841.80681"
capture_lex $P420
new $P391, 'ExceptionHandler'
set_addr $P391, control_390
@@ -17304,7 +17328,7 @@
isgt $I418, $N417, 0.0
unless $I418, loop435_done
loop435_redo:
- .const 'Sub' $P420 = "32_1272455259.05437"
+ .const 'Sub' $P420 = "32_1272816841.80681"
capture_lex $P420
$P420()
loop435_next:
@@ -17332,7 +17356,7 @@
.namespace ["NQP";"Actions"]
-.sub "_block419" :anon :subid("32_1272455259.05437") :outer("31_1272455259.05437")
+.sub "_block419" :anon :subid("32_1272816841.80681") :outer("31_1272816841.80681")
.annotate "line", 126
new $P421, "Undef"
.lex "$else", $P421
@@ -17371,7 +17395,7 @@
.namespace ["NQP";"Actions"]
-.sub "statement_control:sym<unless>" :subid("33_1272455259.05437") :method :outer("11_1272455259.05437")
+.sub "statement_control:sym<unless>" :subid("33_1272816841.80681") :method :outer("11_1272816841.80681")
.param pmc param_445
.annotate "line", 133
new $P444, 'ExceptionHandler'
@@ -17412,7 +17436,7 @@
.namespace ["NQP";"Actions"]
-.sub "statement_control:sym<while>" :subid("34_1272455259.05437") :method :outer("11_1272455259.05437")
+.sub "statement_control:sym<while>" :subid("34_1272816841.80681") :method :outer("11_1272816841.80681")
.param pmc param_459
.annotate "line", 139
new $P458, 'ExceptionHandler'
@@ -17462,7 +17486,7 @@
.namespace ["NQP";"Actions"]
-.sub "statement_control:sym<repeat>" :subid("35_1272455259.05437") :method :outer("11_1272455259.05437")
+.sub "statement_control:sym<repeat>" :subid("35_1272816841.80681") :method :outer("11_1272816841.80681")
.param pmc param_476
.annotate "line", 145
new $P475, 'ExceptionHandler'
@@ -17562,7 +17586,7 @@
.namespace ["NQP";"Actions"]
-.sub "statement_control:sym<for>" :subid("36_1272455259.05437") :method :outer("11_1272455259.05437")
+.sub "statement_control:sym<for>" :subid("36_1272816841.80681") :method :outer("11_1272816841.80681")
.param pmc param_512
.annotate "line", 159
new $P511, 'ExceptionHandler'
@@ -17642,7 +17666,7 @@
.namespace ["NQP";"Actions"]
-.sub "statement_control:sym<return>" :subid("37_1272455259.05437") :method :outer("11_1272455259.05437")
+.sub "statement_control:sym<return>" :subid("37_1272816841.80681") :method :outer("11_1272816841.80681")
.param pmc param_538
.annotate "line", 172
new $P537, 'ExceptionHandler'
@@ -17677,7 +17701,7 @@
.namespace ["NQP";"Actions"]
-.sub "statement_control:sym<CATCH>" :subid("38_1272455259.05437") :method :outer("11_1272455259.05437")
+.sub "statement_control:sym<CATCH>" :subid("38_1272816841.80681") :method :outer("11_1272816841.80681")
.param pmc param_551
.annotate "line", 176
new $P550, 'ExceptionHandler'
@@ -17735,7 +17759,7 @@
.namespace ["NQP";"Actions"]
-.sub "statement_control:sym<CONTROL>" :subid("39_1272455259.05437") :method :outer("11_1272455259.05437")
+.sub "statement_control:sym<CONTROL>" :subid("39_1272816841.80681") :method :outer("11_1272816841.80681")
.param pmc param_571
.annotate "line", 183
new $P570, 'ExceptionHandler'
@@ -17793,7 +17817,7 @@
.namespace ["NQP";"Actions"]
-.sub "statement_prefix:sym<INIT>" :subid("40_1272455259.05437") :method :outer("11_1272455259.05437")
+.sub "statement_prefix:sym<INIT>" :subid("40_1272816841.80681") :method :outer("11_1272816841.80681")
.param pmc param_592
.annotate "line", 227
new $P591, 'ExceptionHandler'
@@ -17839,7 +17863,7 @@
.namespace ["NQP";"Actions"]
-.sub "statement_prefix:sym<try>" :subid("41_1272455259.05437") :method :outer("11_1272455259.05437")
+.sub "statement_prefix:sym<try>" :subid("41_1272816841.80681") :method :outer("11_1272816841.80681")
.param pmc param_608
.annotate "line", 232
new $P607, 'ExceptionHandler'
@@ -17916,7 +17940,7 @@
.namespace ["NQP";"Actions"]
-.sub "blorst" :subid("42_1272455259.05437") :method :outer("11_1272455259.05437")
+.sub "blorst" :subid("42_1272816841.80681") :method :outer("11_1272816841.80681")
.param pmc param_643
.annotate "line", 255
new $P642, 'ExceptionHandler'
@@ -17975,7 +17999,7 @@
.namespace ["NQP";"Actions"]
-.sub "statement_mod_cond:sym<if>" :subid("43_1272455259.05437") :method :outer("11_1272455259.05437")
+.sub "statement_mod_cond:sym<if>" :subid("43_1272816841.80681") :method :outer("11_1272816841.80681")
.param pmc param_661
.annotate "line", 263
new $P660, 'ExceptionHandler'
@@ -18005,7 +18029,7 @@
.namespace ["NQP";"Actions"]
-.sub "statement_mod_cond:sym<unless>" :subid("44_1272455259.05437") :method :outer("11_1272455259.05437")
+.sub "statement_mod_cond:sym<unless>" :subid("44_1272816841.80681") :method :outer("11_1272816841.80681")
.param pmc param_671
.annotate "line", 264
new $P670, 'ExceptionHandler'
@@ -18035,7 +18059,7 @@
.namespace ["NQP";"Actions"]
-.sub "statement_mod_loop:sym<while>" :subid("45_1272455259.05437") :method :outer("11_1272455259.05437")
+.sub "statement_mod_loop:sym<while>" :subid("45_1272816841.80681") :method :outer("11_1272816841.80681")
.param pmc param_681
.annotate "line", 266
new $P680, 'ExceptionHandler'
@@ -18065,7 +18089,7 @@
.namespace ["NQP";"Actions"]
-.sub "statement_mod_loop:sym<until>" :subid("46_1272455259.05437") :method :outer("11_1272455259.05437")
+.sub "statement_mod_loop:sym<until>" :subid("46_1272816841.80681") :method :outer("11_1272816841.80681")
.param pmc param_691
.annotate "line", 267
new $P690, 'ExceptionHandler'
@@ -18095,7 +18119,7 @@
.namespace ["NQP";"Actions"]
-.sub "term:sym<fatarrow>" :subid("47_1272455259.05437") :method :outer("11_1272455259.05437")
+.sub "term:sym<fatarrow>" :subid("47_1272816841.80681") :method :outer("11_1272816841.80681")
.param pmc param_701
.annotate "line", 271
new $P700, 'ExceptionHandler'
@@ -18125,7 +18149,7 @@
.namespace ["NQP";"Actions"]
-.sub "term:sym<colonpair>" :subid("48_1272455259.05437") :method :outer("11_1272455259.05437")
+.sub "term:sym<colonpair>" :subid("48_1272816841.80681") :method :outer("11_1272816841.80681")
.param pmc param_711
.annotate "line", 272
new $P710, 'ExceptionHandler'
@@ -18155,7 +18179,7 @@
.namespace ["NQP";"Actions"]
-.sub "term:sym<variable>" :subid("49_1272455259.05437") :method :outer("11_1272455259.05437")
+.sub "term:sym<variable>" :subid("49_1272816841.80681") :method :outer("11_1272816841.80681")
.param pmc param_721
.annotate "line", 273
new $P720, 'ExceptionHandler'
@@ -18185,7 +18209,7 @@
.namespace ["NQP";"Actions"]
-.sub "term:sym<package_declarator>" :subid("50_1272455259.05437") :method :outer("11_1272455259.05437")
+.sub "term:sym<package_declarator>" :subid("50_1272816841.80681") :method :outer("11_1272816841.80681")
.param pmc param_731
.annotate "line", 274
new $P730, 'ExceptionHandler'
@@ -18215,7 +18239,7 @@
.namespace ["NQP";"Actions"]
-.sub "term:sym<scope_declarator>" :subid("51_1272455259.05437") :method :outer("11_1272455259.05437")
+.sub "term:sym<scope_declarator>" :subid("51_1272816841.80681") :method :outer("11_1272816841.80681")
.param pmc param_741
.annotate "line", 275
new $P740, 'ExceptionHandler'
@@ -18245,7 +18269,7 @@
.namespace ["NQP";"Actions"]
-.sub "term:sym<routine_declarator>" :subid("52_1272455259.05437") :method :outer("11_1272455259.05437")
+.sub "term:sym<routine_declarator>" :subid("52_1272816841.80681") :method :outer("11_1272816841.80681")
.param pmc param_751
.annotate "line", 276
new $P750, 'ExceptionHandler'
@@ -18275,7 +18299,7 @@
.namespace ["NQP";"Actions"]
-.sub "term:sym<regex_declarator>" :subid("53_1272455259.05437") :method :outer("11_1272455259.05437")
+.sub "term:sym<regex_declarator>" :subid("53_1272816841.80681") :method :outer("11_1272816841.80681")
.param pmc param_761
.annotate "line", 277
new $P760, 'ExceptionHandler'
@@ -18305,7 +18329,7 @@
.namespace ["NQP";"Actions"]
-.sub "term:sym<statement_prefix>" :subid("54_1272455259.05437") :method :outer("11_1272455259.05437")
+.sub "term:sym<statement_prefix>" :subid("54_1272816841.80681") :method :outer("11_1272816841.80681")
.param pmc param_771
.annotate "line", 278
new $P770, 'ExceptionHandler'
@@ -18335,7 +18359,7 @@
.namespace ["NQP";"Actions"]
-.sub "term:sym<lambda>" :subid("55_1272455259.05437") :method :outer("11_1272455259.05437")
+.sub "term:sym<lambda>" :subid("55_1272816841.80681") :method :outer("11_1272816841.80681")
.param pmc param_781
.annotate "line", 279
new $P780, 'ExceptionHandler'
@@ -18365,7 +18389,7 @@
.namespace ["NQP";"Actions"]
-.sub "fatarrow" :subid("56_1272455259.05437") :method :outer("11_1272455259.05437")
+.sub "fatarrow" :subid("56_1272816841.80681") :method :outer("11_1272816841.80681")
.param pmc param_791
.annotate "line", 281
new $P790, 'ExceptionHandler'
@@ -18414,7 +18438,7 @@
.namespace ["NQP";"Actions"]
-.sub "colonpair" :subid("57_1272455259.05437") :method :outer("11_1272455259.05437")
+.sub "colonpair" :subid("57_1272816841.80681") :method :outer("11_1272816841.80681")
.param pmc param_807
.annotate "line", 287
new $P806, 'ExceptionHandler'
@@ -18495,10 +18519,10 @@
.namespace ["NQP";"Actions"]
-.sub "variable" :subid("58_1272455259.05437") :method :outer("11_1272455259.05437")
+.sub "variable" :subid("58_1272816841.80681") :method :outer("11_1272816841.80681")
.param pmc param_833
.annotate "line", 295
- .const 'Sub' $P846 = "59_1272455259.05437"
+ .const 'Sub' $P846 = "59_1272816841.80681"
capture_lex $P846
new $P832, 'ExceptionHandler'
set_addr $P832, control_831
@@ -18522,7 +18546,7 @@
vivify_297:
if $P838, if_836
.annotate "line", 301
- .const 'Sub' $P846 = "59_1272455259.05437"
+ .const 'Sub' $P846 = "59_1272816841.80681"
capture_lex $P846
$P846()
goto if_836_end
@@ -18559,7 +18583,7 @@
.namespace ["NQP";"Actions"]
-.sub "_block845" :anon :subid("59_1272455259.05437") :outer("58_1272455259.05437")
+.sub "_block845" :anon :subid("59_1272816841.80681") :outer("58_1272816841.80681")
.annotate "line", 302
$P847 = root_new ['parrot';'ResizablePMCArray']
.lex "@name", $P847
@@ -18728,7 +18752,7 @@
.namespace ["NQP";"Actions"]
-.sub "package_declarator:sym<module>" :subid("60_1272455259.05437") :method :outer("11_1272455259.05437")
+.sub "package_declarator:sym<module>" :subid("60_1272816841.80681") :method :outer("11_1272816841.80681")
.param pmc param_922
.annotate "line", 333
new $P921, 'ExceptionHandler'
@@ -18758,7 +18782,7 @@
.namespace ["NQP";"Actions"]
-.sub "package_declarator:sym<class>" :subid("61_1272455259.05437") :method :outer("11_1272455259.05437")
+.sub "package_declarator:sym<class>" :subid("61_1272816841.80681") :method :outer("11_1272816841.80681")
.param pmc param_932
.annotate "line", 334
new $P931, 'ExceptionHandler'
@@ -18915,7 +18939,7 @@
.namespace ["NQP";"Actions"]
-.sub "package_def" :subid("62_1272455259.05437") :method :outer("11_1272455259.05437")
+.sub "package_def" :subid("62_1272816841.80681") :method :outer("11_1272816841.80681")
.param pmc param_985
.annotate "line", 357
new $P984, 'ExceptionHandler'
@@ -18993,7 +19017,7 @@
.namespace ["NQP";"Actions"]
-.sub "scope_declarator:sym<my>" :subid("63_1272455259.05437") :method :outer("11_1272455259.05437")
+.sub "scope_declarator:sym<my>" :subid("63_1272816841.80681") :method :outer("11_1272816841.80681")
.param pmc param_1009
.annotate "line", 364
new $P1008, 'ExceptionHandler'
@@ -19023,7 +19047,7 @@
.namespace ["NQP";"Actions"]
-.sub "scope_declarator:sym<our>" :subid("64_1272455259.05437") :method :outer("11_1272455259.05437")
+.sub "scope_declarator:sym<our>" :subid("64_1272816841.80681") :method :outer("11_1272816841.80681")
.param pmc param_1019
.annotate "line", 365
new $P1018, 'ExceptionHandler'
@@ -19053,7 +19077,7 @@
.namespace ["NQP";"Actions"]
-.sub "scope_declarator:sym<has>" :subid("65_1272455259.05437") :method :outer("11_1272455259.05437")
+.sub "scope_declarator:sym<has>" :subid("65_1272816841.80681") :method :outer("11_1272816841.80681")
.param pmc param_1029
.annotate "line", 366
new $P1028, 'ExceptionHandler'
@@ -19083,7 +19107,7 @@
.namespace ["NQP";"Actions"]
-.sub "scoped" :subid("66_1272455259.05437") :method :outer("11_1272455259.05437")
+.sub "scoped" :subid("66_1272816841.80681") :method :outer("11_1272816841.80681")
.param pmc param_1039
.annotate "line", 368
new $P1038, 'ExceptionHandler'
@@ -19141,10 +19165,10 @@
.namespace ["NQP";"Actions"]
-.sub "variable_declarator" :subid("67_1272455259.05437") :method :outer("11_1272455259.05437")
+.sub "variable_declarator" :subid("67_1272816841.80681") :method :outer("11_1272816841.80681")
.param pmc param_1056
.annotate "line", 374
- .const 'Sub' $P1096 = "68_1272455259.05437"
+ .const 'Sub' $P1096 = "68_1272816841.80681"
capture_lex $P1096
new $P1055, 'ExceptionHandler'
set_addr $P1055, control_1054
@@ -19226,7 +19250,7 @@
iseq $I1081, $S1080, "has"
if $I1081, if_1078
.annotate "line", 391
- .const 'Sub' $P1096 = "68_1272455259.05437"
+ .const 'Sub' $P1096 = "68_1272816841.80681"
capture_lex $P1096
$P1096()
goto if_1078_end
@@ -19286,7 +19310,7 @@
.namespace ["NQP";"Actions"]
-.sub "_block1095" :anon :subid("68_1272455259.05437") :outer("67_1272455259.05437")
+.sub "_block1095" :anon :subid("68_1272816841.80681") :outer("67_1272816841.80681")
.annotate "line", 392
new $P1097, "Undef"
.lex "$scope", $P1097
@@ -19347,7 +19371,7 @@
.namespace ["NQP";"Actions"]
-.sub "routine_declarator:sym<sub>" :subid("69_1272455259.05437") :method :outer("11_1272455259.05437")
+.sub "routine_declarator:sym<sub>" :subid("69_1272816841.80681") :method :outer("11_1272816841.80681")
.param pmc param_1127
.annotate "line", 402
new $P1126, 'ExceptionHandler'
@@ -19377,7 +19401,7 @@
.namespace ["NQP";"Actions"]
-.sub "routine_declarator:sym<method>" :subid("70_1272455259.05437") :method :outer("11_1272455259.05437")
+.sub "routine_declarator:sym<method>" :subid("70_1272816841.80681") :method :outer("11_1272816841.80681")
.param pmc param_1137
.annotate "line", 403
new $P1136, 'ExceptionHandler'
@@ -19407,10 +19431,10 @@
.namespace ["NQP";"Actions"]
-.sub "routine_def" :subid("71_1272455259.05437") :method :outer("11_1272455259.05437")
+.sub "routine_def" :subid("71_1272816841.80681") :method :outer("11_1272816841.80681")
.param pmc param_1147
.annotate "line", 405
- .const 'Sub' $P1158 = "72_1272455259.05437"
+ .const 'Sub' $P1158 = "72_1272816841.80681"
capture_lex $P1158
new $P1146, 'ExceptionHandler'
set_addr $P1146, control_1145
@@ -19447,7 +19471,7 @@
new $P1156, "Undef"
vivify_381:
unless $P1156, if_1154_end
- .const 'Sub' $P1158 = "72_1272455259.05437"
+ .const 'Sub' $P1158 = "72_1272816841.80681"
capture_lex $P1158
$P1158()
if_1154_end:
@@ -19466,7 +19490,7 @@
.namespace ["NQP";"Actions"]
-.sub "_block1157" :anon :subid("72_1272455259.05437") :outer("71_1272455259.05437")
+.sub "_block1157" :anon :subid("72_1272816841.80681") :outer("71_1272816841.80681")
.annotate "line", 410
new $P1159, "Undef"
.lex "$name", $P1159
@@ -19562,10 +19586,10 @@
.namespace ["NQP";"Actions"]
-.sub "method_def" :subid("73_1272455259.05437") :method :outer("11_1272455259.05437")
+.sub "method_def" :subid("73_1272816841.80681") :method :outer("11_1272816841.80681")
.param pmc param_1197
.annotate "line", 423
- .const 'Sub' $P1213 = "74_1272455259.05437"
+ .const 'Sub' $P1213 = "74_1272816841.80681"
capture_lex $P1213
new $P1196, 'ExceptionHandler'
set_addr $P1196, control_1195
@@ -19617,7 +19641,7 @@
new $P1211, "Undef"
vivify_400:
unless $P1211, if_1209_end
- .const 'Sub' $P1213 = "74_1272455259.05437"
+ .const 'Sub' $P1213 = "74_1272816841.80681"
capture_lex $P1213
$P1213()
if_1209_end:
@@ -19636,7 +19660,7 @@
.namespace ["NQP";"Actions"]
-.sub "_block1212" :anon :subid("74_1272455259.05437") :outer("73_1272455259.05437")
+.sub "_block1212" :anon :subid("74_1272816841.80681") :outer("73_1272816841.80681")
.annotate "line", 430
new $P1214, "Undef"
.lex "$name", $P1214
@@ -19667,10 +19691,10 @@
.namespace ["NQP";"Actions"]
-.sub "signature" :subid("75_1272455259.05437") :method :outer("11_1272455259.05437")
+.sub "signature" :subid("75_1272816841.80681") :method :outer("11_1272816841.80681")
.param pmc param_1231
.annotate "line", 437
- .const 'Sub' $P1242 = "76_1272455259.05437"
+ .const 'Sub' $P1242 = "76_1272816841.80681"
capture_lex $P1242
new $P1230, 'ExceptionHandler'
set_addr $P1230, control_1229
@@ -19714,7 +19738,7 @@
unless $P1236, loop1248_done
shift $P1240, $P1236
loop1248_redo:
- .const 'Sub' $P1242 = "76_1272455259.05437"
+ .const 'Sub' $P1242 = "76_1272816841.80681"
capture_lex $P1242
$P1242($P1240)
loop1248_next:
@@ -19739,7 +19763,7 @@
.namespace ["NQP";"Actions"]
-.sub "_block1241" :anon :subid("76_1272455259.05437") :outer("75_1272455259.05437")
+.sub "_block1241" :anon :subid("76_1272816841.80681") :outer("75_1272816841.80681")
.param pmc param_1243
.annotate "line", 439
.lex "$_", param_1243
@@ -19752,7 +19776,7 @@
.namespace ["NQP";"Actions"]
-.sub "parameter" :subid("77_1272455259.05437") :method :outer("11_1272455259.05437")
+.sub "parameter" :subid("77_1272816841.80681") :method :outer("11_1272816841.80681")
.param pmc param_1255
.annotate "line", 442
new $P1254, 'ExceptionHandler'
@@ -19984,7 +20008,7 @@
.namespace ["NQP";"Actions"]
-.sub "param_var" :subid("78_1272455259.05437") :method :outer("11_1272455259.05437")
+.sub "param_var" :subid("78_1272816841.80681") :method :outer("11_1272816841.80681")
.param pmc param_1339
.annotate "line", 474
new $P1338, 'ExceptionHandler'
@@ -20037,7 +20061,7 @@
.namespace ["NQP";"Actions"]
-.sub "named_param" :subid("79_1272455259.05437") :method :outer("11_1272455259.05437")
+.sub "named_param" :subid("79_1272816841.80681") :method :outer("11_1272816841.80681")
.param pmc param_1359
.annotate "line", 482
new $P1358, 'ExceptionHandler'
@@ -20090,14 +20114,14 @@
.namespace ["NQP";"Actions"]
-.sub "regex_declarator" :subid("80_1272455259.05437") :method :outer("11_1272455259.05437")
+.sub "regex_declarator" :subid("80_1272816841.80681") :method :outer("11_1272816841.80681")
.param pmc param_1376
.param pmc param_1377 :optional
.param int has_param_1377 :opt_flag
.annotate "line", 488
- .const 'Sub' $P1447 = "82_1272455259.05437"
+ .const 'Sub' $P1447 = "82_1272816841.80681"
capture_lex $P1447
- .const 'Sub' $P1419 = "81_1272455259.05437"
+ .const 'Sub' $P1419 = "81_1272816841.80681"
capture_lex $P1419
new $P1375, 'ExceptionHandler'
set_addr $P1375, control_1374
@@ -20155,13 +20179,13 @@
iseq $I1417, $S1416, "open"
if $I1417, if_1414
.annotate "line", 534
- .const 'Sub' $P1447 = "82_1272455259.05437"
+ .const 'Sub' $P1447 = "82_1272816841.80681"
capture_lex $P1447
$P1447()
goto if_1414_end
if_1414:
.annotate "line", 521
- .const 'Sub' $P1419 = "81_1272455259.05437"
+ .const 'Sub' $P1419 = "81_1272816841.80681"
capture_lex $P1419
$P1419()
if_1414_end:
@@ -20218,7 +20242,7 @@
.namespace ["NQP";"Actions"]
-.sub "_block1446" :anon :subid("82_1272455259.05437") :outer("80_1272455259.05437")
+.sub "_block1446" :anon :subid("82_1272816841.80681") :outer("80_1272816841.80681")
.annotate "line", 535
new $P1448, "Undef"
.lex "$regex", $P1448
@@ -20269,7 +20293,7 @@
.namespace ["NQP";"Actions"]
-.sub "_block1418" :anon :subid("81_1272455259.05437") :outer("80_1272455259.05437")
+.sub "_block1418" :anon :subid("81_1272816841.80681") :outer("80_1272816841.80681")
.annotate "line", 522
$P1420 = root_new ['parrot';'Hash']
.lex "%h", $P1420
@@ -20367,7 +20391,7 @@
.namespace ["NQP";"Actions"]
-.sub "dotty" :subid("83_1272455259.05437") :method :outer("11_1272455259.05437")
+.sub "dotty" :subid("83_1272816841.80681") :method :outer("11_1272816841.80681")
.param pmc param_1475
.annotate "line", 552
new $P1474, 'ExceptionHandler'
@@ -20464,7 +20488,7 @@
.namespace ["NQP";"Actions"]
-.sub "term:sym<self>" :subid("84_1272455259.05437") :method :outer("11_1272455259.05437")
+.sub "term:sym<self>" :subid("84_1272816841.80681") :method :outer("11_1272816841.80681")
.param pmc param_1507
.annotate "line", 561
new $P1506, 'ExceptionHandler'
@@ -20489,7 +20513,7 @@
.namespace ["NQP";"Actions"]
-.sub "term:sym<identifier>" :subid("85_1272455259.05437") :method :outer("11_1272455259.05437")
+.sub "term:sym<identifier>" :subid("85_1272816841.80681") :method :outer("11_1272816841.80681")
.param pmc param_1516
.annotate "line", 565
new $P1515, 'ExceptionHandler'
@@ -20538,7 +20562,7 @@
.namespace ["NQP";"Actions"]
-.sub "term:sym<name>" :subid("86_1272455259.05437") :method :outer("11_1272455259.05437")
+.sub "term:sym<name>" :subid("86_1272816841.80681") :method :outer("11_1272816841.80681")
.param pmc param_1532
.annotate "line", 571
new $P1531, 'ExceptionHandler'
@@ -20656,7 +20680,7 @@
.namespace ["NQP";"Actions"]
-.sub "term:sym<pir::op>" :subid("87_1272455259.05437") :method :outer("11_1272455259.05437")
+.sub "term:sym<pir::op>" :subid("87_1272816841.80681") :method :outer("11_1272816841.80681")
.param pmc param_1574
.annotate "line", 585
new $P1573, 'ExceptionHandler'
@@ -20747,7 +20771,7 @@
.namespace ["NQP";"Actions"]
-.sub "args" :subid("88_1272455259.05437") :method :outer("11_1272455259.05437")
+.sub "args" :subid("88_1272816841.80681") :method :outer("11_1272816841.80681")
.param pmc param_1603
.annotate "line", 600
new $P1602, 'ExceptionHandler'
@@ -20777,10 +20801,10 @@
.namespace ["NQP";"Actions"]
-.sub "arglist" :subid("89_1272455259.05437") :method :outer("11_1272455259.05437")
+.sub "arglist" :subid("89_1272816841.80681") :method :outer("11_1272816841.80681")
.param pmc param_1613
.annotate "line", 602
- .const 'Sub' $P1624 = "90_1272455259.05437"
+ .const 'Sub' $P1624 = "90_1272816841.80681"
capture_lex $P1624
new $P1612, 'ExceptionHandler'
set_addr $P1612, control_1611
@@ -20812,7 +20836,7 @@
new $P1622, "Undef"
vivify_499:
unless $P1622, if_1620_end
- .const 'Sub' $P1624 = "90_1272455259.05437"
+ .const 'Sub' $P1624 = "90_1272816841.80681"
capture_lex $P1624
$P1624()
if_1620_end:
@@ -20920,9 +20944,9 @@
.namespace ["NQP";"Actions"]
-.sub "_block1623" :anon :subid("90_1272455259.05437") :outer("89_1272455259.05437")
+.sub "_block1623" :anon :subid("90_1272816841.80681") :outer("89_1272816841.80681")
.annotate "line", 604
- .const 'Sub' $P1645 = "91_1272455259.05437"
+ .const 'Sub' $P1645 = "91_1272816841.80681"
capture_lex $P1645
.annotate "line", 605
new $P1625, "Undef"
@@ -20975,7 +20999,7 @@
unless $P1639, loop1650_done
shift $P1643, $P1639
loop1650_redo:
- .const 'Sub' $P1645 = "91_1272455259.05437"
+ .const 'Sub' $P1645 = "91_1272816841.80681"
capture_lex $P1645
$P1645($P1643)
loop1650_next:
@@ -20998,7 +21022,7 @@
.namespace ["NQP";"Actions"]
-.sub "_block1644" :anon :subid("91_1272455259.05437") :outer("90_1272455259.05437")
+.sub "_block1644" :anon :subid("91_1272816841.80681") :outer("90_1272816841.80681")
.param pmc param_1646
.annotate "line", 607
.lex "$_", param_1646
@@ -21010,7 +21034,7 @@
.namespace ["NQP";"Actions"]
-.sub "term:sym<value>" :subid("92_1272455259.05437") :method :outer("11_1272455259.05437")
+.sub "term:sym<value>" :subid("92_1272816841.80681") :method :outer("11_1272816841.80681")
.param pmc param_1697
.annotate "line", 624
new $P1696, 'ExceptionHandler'
@@ -21040,7 +21064,7 @@
.namespace ["NQP";"Actions"]
-.sub "circumfix:sym<( )>" :subid("93_1272455259.05437") :method :outer("11_1272455259.05437")
+.sub "circumfix:sym<( )>" :subid("93_1272816841.80681") :method :outer("11_1272816841.80681")
.param pmc param_1707
.annotate "line", 626
new $P1706, 'ExceptionHandler'
@@ -21096,7 +21120,7 @@
.namespace ["NQP";"Actions"]
-.sub "circumfix:sym<[ ]>" :subid("94_1272455259.05437") :method :outer("11_1272455259.05437")
+.sub "circumfix:sym<[ ]>" :subid("94_1272816841.80681") :method :outer("11_1272816841.80681")
.param pmc param_1725
.annotate "line", 632
new $P1724, 'ExceptionHandler'
@@ -21172,7 +21196,7 @@
.namespace ["NQP";"Actions"]
-.sub "circumfix:sym<ang>" :subid("95_1272455259.05437") :method :outer("11_1272455259.05437")
+.sub "circumfix:sym<ang>" :subid("95_1272816841.80681") :method :outer("11_1272816841.80681")
.param pmc param_1752
.annotate "line", 647
new $P1751, 'ExceptionHandler'
@@ -21202,7 +21226,7 @@
.namespace ["NQP";"Actions"]
-.sub unicode:"circumfix:sym<\x{ab} \x{bb}>" :subid("96_1272455259.05437") :method :outer("11_1272455259.05437")
+.sub unicode:"circumfix:sym<\x{ab} \x{bb}>" :subid("96_1272816841.80681") :method :outer("11_1272816841.80681")
.param pmc param_1762
.annotate "line", 648
new $P1761, 'ExceptionHandler'
@@ -21232,7 +21256,7 @@
.namespace ["NQP";"Actions"]
-.sub "circumfix:sym<{ }>" :subid("97_1272455259.05437") :method :outer("11_1272455259.05437")
+.sub "circumfix:sym<{ }>" :subid("97_1272816841.80681") :method :outer("11_1272816841.80681")
.param pmc param_1772
.annotate "line", 650
new $P1771, 'ExceptionHandler'
@@ -21296,7 +21320,7 @@
.namespace ["NQP";"Actions"]
-.sub "circumfix:sym<sigil>" :subid("98_1272455259.05437") :method :outer("11_1272455259.05437")
+.sub "circumfix:sym<sigil>" :subid("98_1272816841.80681") :method :outer("11_1272816841.80681")
.param pmc param_1792
.annotate "line", 656
new $P1791, 'ExceptionHandler'
@@ -21375,7 +21399,7 @@
.namespace ["NQP";"Actions"]
-.sub "semilist" :subid("99_1272455259.05437") :method :outer("11_1272455259.05437")
+.sub "semilist" :subid("99_1272816841.80681") :method :outer("11_1272816841.80681")
.param pmc param_1821
.annotate "line", 663
new $P1820, 'ExceptionHandler'
@@ -21405,7 +21429,7 @@
.namespace ["NQP";"Actions"]
-.sub "postcircumfix:sym<[ ]>" :subid("100_1272455259.05437") :method :outer("11_1272455259.05437")
+.sub "postcircumfix:sym<[ ]>" :subid("100_1272816841.80681") :method :outer("11_1272816841.80681")
.param pmc param_1831
.annotate "line", 665
new $P1830, 'ExceptionHandler'
@@ -21442,7 +21466,7 @@
.namespace ["NQP";"Actions"]
-.sub "postcircumfix:sym<{ }>" :subid("101_1272455259.05437") :method :outer("11_1272455259.05437")
+.sub "postcircumfix:sym<{ }>" :subid("101_1272816841.80681") :method :outer("11_1272816841.80681")
.param pmc param_1844
.annotate "line", 671
new $P1843, 'ExceptionHandler'
@@ -21479,7 +21503,7 @@
.namespace ["NQP";"Actions"]
-.sub "postcircumfix:sym<ang>" :subid("102_1272455259.05437") :method :outer("11_1272455259.05437")
+.sub "postcircumfix:sym<ang>" :subid("102_1272816841.80681") :method :outer("11_1272816841.80681")
.param pmc param_1857
.annotate "line", 677
new $P1856, 'ExceptionHandler'
@@ -21516,7 +21540,7 @@
.namespace ["NQP";"Actions"]
-.sub "postcircumfix:sym<( )>" :subid("103_1272455259.05437") :method :outer("11_1272455259.05437")
+.sub "postcircumfix:sym<( )>" :subid("103_1272816841.80681") :method :outer("11_1272816841.80681")
.param pmc param_1870
.annotate "line", 683
new $P1869, 'ExceptionHandler'
@@ -21548,7 +21572,7 @@
.namespace ["NQP";"Actions"]
-.sub "value" :subid("104_1272455259.05437") :method :outer("11_1272455259.05437")
+.sub "value" :subid("104_1272816841.80681") :method :outer("11_1272816841.80681")
.param pmc param_1880
.annotate "line", 687
new $P1879, 'ExceptionHandler'
@@ -21603,7 +21627,7 @@
.namespace ["NQP";"Actions"]
-.sub "number" :subid("105_1272455259.05437") :method :outer("11_1272455259.05437")
+.sub "number" :subid("105_1272816841.80681") :method :outer("11_1272816841.80681")
.param pmc param_1897
.annotate "line", 691
new $P1896, 'ExceptionHandler'
@@ -21681,7 +21705,7 @@
.namespace ["NQP";"Actions"]
-.sub "quote:sym<apos>" :subid("106_1272455259.05437") :method :outer("11_1272455259.05437")
+.sub "quote:sym<apos>" :subid("106_1272816841.80681") :method :outer("11_1272816841.80681")
.param pmc param_1925
.annotate "line", 697
new $P1924, 'ExceptionHandler'
@@ -21711,7 +21735,7 @@
.namespace ["NQP";"Actions"]
-.sub "quote:sym<dblq>" :subid("107_1272455259.05437") :method :outer("11_1272455259.05437")
+.sub "quote:sym<dblq>" :subid("107_1272816841.80681") :method :outer("11_1272816841.80681")
.param pmc param_1935
.annotate "line", 698
new $P1934, 'ExceptionHandler'
@@ -21741,7 +21765,7 @@
.namespace ["NQP";"Actions"]
-.sub "quote:sym<qq>" :subid("108_1272455259.05437") :method :outer("11_1272455259.05437")
+.sub "quote:sym<qq>" :subid("108_1272816841.80681") :method :outer("11_1272816841.80681")
.param pmc param_1945
.annotate "line", 699
new $P1944, 'ExceptionHandler'
@@ -21771,7 +21795,7 @@
.namespace ["NQP";"Actions"]
-.sub "quote:sym<q>" :subid("109_1272455259.05437") :method :outer("11_1272455259.05437")
+.sub "quote:sym<q>" :subid("109_1272816841.80681") :method :outer("11_1272816841.80681")
.param pmc param_1955
.annotate "line", 700
new $P1954, 'ExceptionHandler'
@@ -21801,7 +21825,7 @@
.namespace ["NQP";"Actions"]
-.sub "quote:sym<Q>" :subid("110_1272455259.05437") :method :outer("11_1272455259.05437")
+.sub "quote:sym<Q>" :subid("110_1272816841.80681") :method :outer("11_1272816841.80681")
.param pmc param_1965
.annotate "line", 701
new $P1964, 'ExceptionHandler'
@@ -21831,7 +21855,7 @@
.namespace ["NQP";"Actions"]
-.sub "quote:sym<Q:PIR>" :subid("111_1272455259.05437") :method :outer("11_1272455259.05437")
+.sub "quote:sym<Q:PIR>" :subid("111_1272816841.80681") :method :outer("11_1272816841.80681")
.param pmc param_1975
.annotate "line", 702
new $P1974, 'ExceptionHandler'
@@ -21867,7 +21891,7 @@
.namespace ["NQP";"Actions"]
-.sub "quote:sym</ />" :subid("112_1272455259.05437") :method :outer("11_1272455259.05437")
+.sub "quote:sym</ />" :subid("112_1272816841.80681") :method :outer("11_1272816841.80681")
.param pmc param_1989
.param pmc param_1990 :optional
.param int has_param_1990 :opt_flag
@@ -21976,7 +22000,7 @@
.namespace ["NQP";"Actions"]
-.sub "quote_escape:sym<$>" :subid("113_1272455259.05437") :method :outer("11_1272455259.05437")
+.sub "quote_escape:sym<$>" :subid("113_1272816841.80681") :method :outer("11_1272816841.80681")
.param pmc param_2026
.annotate "line", 731
new $P2025, 'ExceptionHandler'
@@ -22006,7 +22030,7 @@
.namespace ["NQP";"Actions"]
-.sub "quote_escape:sym<{ }>" :subid("114_1272455259.05437") :method :outer("11_1272455259.05437")
+.sub "quote_escape:sym<{ }>" :subid("114_1272816841.80681") :method :outer("11_1272816841.80681")
.param pmc param_2036
.annotate "line", 732
new $P2035, 'ExceptionHandler'
@@ -22044,7 +22068,7 @@
.namespace ["NQP";"Actions"]
-.sub "quote_escape:sym<esc>" :subid("115_1272455259.05437") :method :outer("11_1272455259.05437")
+.sub "quote_escape:sym<esc>" :subid("115_1272816841.80681") :method :outer("11_1272816841.80681")
.param pmc param_2050
.annotate "line", 737
new $P2049, 'ExceptionHandler'
@@ -22065,7 +22089,7 @@
.namespace ["NQP";"Actions"]
-.sub "postfix:sym<.>" :subid("116_1272455259.05437") :method :outer("11_1272455259.05437")
+.sub "postfix:sym<.>" :subid("116_1272816841.80681") :method :outer("11_1272816841.80681")
.param pmc param_2057
.annotate "line", 741
new $P2056, 'ExceptionHandler'
@@ -22095,7 +22119,7 @@
.namespace ["NQP";"Actions"]
-.sub "postfix:sym<++>" :subid("117_1272455259.05437") :method :outer("11_1272455259.05437")
+.sub "postfix:sym<++>" :subid("117_1272816841.80681") :method :outer("11_1272816841.80681")
.param pmc param_2067
.annotate "line", 743
new $P2066, 'ExceptionHandler'
@@ -22125,7 +22149,7 @@
.namespace ["NQP";"Actions"]
-.sub "postfix:sym<-->" :subid("118_1272455259.05437") :method :outer("11_1272455259.05437")
+.sub "postfix:sym<-->" :subid("118_1272816841.80681") :method :outer("11_1272816841.80681")
.param pmc param_2077
.annotate "line", 749
new $P2076, 'ExceptionHandler'
@@ -22155,7 +22179,7 @@
.namespace ["NQP";"Actions"]
-.sub "prefix:sym<make>" :subid("119_1272455259.05437") :method :outer("11_1272455259.05437")
+.sub "prefix:sym<make>" :subid("119_1272816841.80681") :method :outer("11_1272816841.80681")
.param pmc param_2087
.annotate "line", 755
new $P2086, 'ExceptionHandler'
@@ -22185,7 +22209,7 @@
.namespace ["NQP";"Actions"]
-.sub "infix:sym<~~>" :subid("120_1272455259.05437") :method :outer("11_1272455259.05437")
+.sub "infix:sym<~~>" :subid("120_1272816841.80681") :method :outer("11_1272816841.80681")
.param pmc param_2099
.annotate "line", 764
new $P2098, 'ExceptionHandler'
@@ -22211,18 +22235,18 @@
.namespace ["NQP";"RegexActions"]
-.sub "_block2106" :subid("121_1272455259.05437") :outer("11_1272455259.05437")
+.sub "_block2106" :subid("121_1272816841.80681") :outer("11_1272816841.80681")
.annotate "line", 769
- .const 'Sub' $P2142 = "125_1272455259.05437"
+ .const 'Sub' $P2142 = "125_1272816841.80681"
capture_lex $P2142
- .const 'Sub' $P2132 = "124_1272455259.05437"
+ .const 'Sub' $P2132 = "124_1272816841.80681"
capture_lex $P2132
- .const 'Sub' $P2122 = "123_1272455259.05437"
+ .const 'Sub' $P2122 = "123_1272816841.80681"
capture_lex $P2122
- .const 'Sub' $P2108 = "122_1272455259.05437"
+ .const 'Sub' $P2108 = "122_1272816841.80681"
capture_lex $P2108
.annotate "line", 780
- .const 'Sub' $P2142 = "125_1272455259.05437"
+ .const 'Sub' $P2142 = "125_1272816841.80681"
capture_lex $P2142
.annotate "line", 769
.return ($P2142)
@@ -22230,7 +22254,7 @@
.namespace ["NQP";"RegexActions"]
-.sub "metachar:sym<:my>" :subid("122_1272455259.05437") :method :outer("121_1272455259.05437")
+.sub "metachar:sym<:my>" :subid("122_1272816841.80681") :method :outer("121_1272816841.80681")
.param pmc param_2111
.annotate "line", 771
new $P2110, 'ExceptionHandler'
@@ -22269,7 +22293,7 @@
.namespace ["NQP";"RegexActions"]
-.sub "metachar:sym<{ }>" :subid("123_1272455259.05437") :method :outer("121_1272455259.05437")
+.sub "metachar:sym<{ }>" :subid("123_1272816841.80681") :method :outer("121_1272816841.80681")
.param pmc param_2125
.annotate "line", 776
new $P2124, 'ExceptionHandler'
@@ -22299,7 +22323,7 @@
.namespace ["NQP";"RegexActions"]
-.sub "assertion:sym<{ }>" :subid("124_1272455259.05437") :method :outer("121_1272455259.05437")
+.sub "assertion:sym<{ }>" :subid("124_1272816841.80681") :method :outer("121_1272816841.80681")
.param pmc param_2135
.annotate "line", 778
new $P2134, 'ExceptionHandler'
@@ -22329,7 +22353,7 @@
.namespace ["NQP";"RegexActions"]
-.sub "codeblock" :subid("125_1272455259.05437") :method :outer("121_1272455259.05437")
+.sub "codeblock" :subid("125_1272816841.80681") :method :outer("121_1272816841.80681")
.param pmc param_2145
.annotate "line", 780
new $P2144, 'ExceptionHandler'
Modified: branches/codestring/ext/nqp-rx/src/stage0/P6Regex-s0.pir
==============================================================================
--- branches/codestring/ext/nqp-rx/src/stage0/P6Regex-s0.pir Mon May 3 13:16:49 2010 (r46234)
+++ branches/codestring/ext/nqp-rx/src/stage0/P6Regex-s0.pir Mon May 3 14:39:34 2010 (r46235)
@@ -16,7 +16,7 @@
### .include 'gen/p6regex-grammar.pir'
.namespace []
-.sub "_block11" :anon :subid("10_1272455245.85124")
+.sub "_block11" :anon :subid("10_1272816831.40736")
.annotate "line", 0
get_hll_global $P14, ["Regex";"P6Regex";"Grammar"], "_block13"
capture_lex $P14
@@ -30,9 +30,9 @@
.namespace []
-.sub "" :load :init :subid("post158") :outer("10_1272455245.85124")
+.sub "" :load :init :subid("post158") :outer("10_1272816831.40736")
.annotate "line", 0
- .const 'Sub' $P12 = "10_1272455245.85124"
+ .const 'Sub' $P12 = "10_1272816831.40736"
.local pmc block
set block, $P12
$P580 = get_root_global ["parrot"], "P6metaclass"
@@ -41,140 +41,140 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "_block13" :subid("11_1272455245.85124") :outer("10_1272455245.85124")
+.sub "_block13" :subid("11_1272816831.40736") :outer("10_1272816831.40736")
.annotate "line", 3
- .const 'Sub' $P571 = "156_1272455245.85124"
+ .const 'Sub' $P571 = "156_1272816831.40736"
capture_lex $P571
- .const 'Sub' $P563 = "154_1272455245.85124"
+ .const 'Sub' $P563 = "154_1272816831.40736"
capture_lex $P563
- .const 'Sub' $P555 = "152_1272455245.85124"
+ .const 'Sub' $P555 = "152_1272816831.40736"
capture_lex $P555
- .const 'Sub' $P534 = "147_1272455245.85124"
+ .const 'Sub' $P534 = "147_1272816831.40736"
capture_lex $P534
- .const 'Sub' $P499 = "141_1272455245.85124"
+ .const 'Sub' $P499 = "141_1272816831.40736"
capture_lex $P499
- .const 'Sub' $P487 = "138_1272455245.85124"
+ .const 'Sub' $P487 = "138_1272816831.40736"
capture_lex $P487
- .const 'Sub' $P474 = "135_1272455245.85124"
+ .const 'Sub' $P474 = "135_1272816831.40736"
capture_lex $P474
- .const 'Sub' $P468 = "133_1272455245.85124"
+ .const 'Sub' $P468 = "133_1272816831.40736"
capture_lex $P468
- .const 'Sub' $P457 = "130_1272455245.85124"
+ .const 'Sub' $P457 = "130_1272816831.40736"
capture_lex $P457
- .const 'Sub' $P446 = "127_1272455245.85124"
+ .const 'Sub' $P446 = "127_1272816831.40736"
capture_lex $P446
- .const 'Sub' $P437 = "123_1272455245.85124"
+ .const 'Sub' $P437 = "123_1272816831.40736"
capture_lex $P437
- .const 'Sub' $P431 = "121_1272455245.85124"
+ .const 'Sub' $P431 = "121_1272816831.40736"
capture_lex $P431
- .const 'Sub' $P425 = "119_1272455245.85124"
+ .const 'Sub' $P425 = "119_1272816831.40736"
capture_lex $P425
- .const 'Sub' $P419 = "117_1272455245.85124"
+ .const 'Sub' $P419 = "117_1272816831.40736"
capture_lex $P419
- .const 'Sub' $P413 = "115_1272455245.85124"
+ .const 'Sub' $P413 = "115_1272816831.40736"
capture_lex $P413
- .const 'Sub' $P405 = "113_1272455245.85124"
+ .const 'Sub' $P405 = "113_1272816831.40736"
capture_lex $P405
- .const 'Sub' $P394 = "111_1272455245.85124"
+ .const 'Sub' $P394 = "111_1272816831.40736"
capture_lex $P394
- .const 'Sub' $P383 = "109_1272455245.85124"
+ .const 'Sub' $P383 = "109_1272816831.40736"
capture_lex $P383
- .const 'Sub' $P377 = "107_1272455245.85124"
+ .const 'Sub' $P377 = "107_1272816831.40736"
capture_lex $P377
- .const 'Sub' $P371 = "105_1272455245.85124"
+ .const 'Sub' $P371 = "105_1272816831.40736"
capture_lex $P371
- .const 'Sub' $P365 = "103_1272455245.85124"
+ .const 'Sub' $P365 = "103_1272816831.40736"
capture_lex $P365
- .const 'Sub' $P359 = "101_1272455245.85124"
+ .const 'Sub' $P359 = "101_1272816831.40736"
capture_lex $P359
- .const 'Sub' $P353 = "99_1272455245.85124"
+ .const 'Sub' $P353 = "99_1272816831.40736"
capture_lex $P353
- .const 'Sub' $P347 = "97_1272455245.85124"
+ .const 'Sub' $P347 = "97_1272816831.40736"
capture_lex $P347
- .const 'Sub' $P341 = "95_1272455245.85124"
+ .const 'Sub' $P341 = "95_1272816831.40736"
capture_lex $P341
- .const 'Sub' $P335 = "93_1272455245.85124"
+ .const 'Sub' $P335 = "93_1272816831.40736"
capture_lex $P335
- .const 'Sub' $P323 = "89_1272455245.85124"
+ .const 'Sub' $P323 = "89_1272816831.40736"
capture_lex $P323
- .const 'Sub' $P311 = "87_1272455245.85124"
+ .const 'Sub' $P311 = "87_1272816831.40736"
capture_lex $P311
- .const 'Sub' $P304 = "85_1272455245.85124"
+ .const 'Sub' $P304 = "85_1272816831.40736"
capture_lex $P304
- .const 'Sub' $P287 = "83_1272455245.85124"
+ .const 'Sub' $P287 = "83_1272816831.40736"
capture_lex $P287
- .const 'Sub' $P280 = "81_1272455245.85124"
+ .const 'Sub' $P280 = "81_1272816831.40736"
capture_lex $P280
- .const 'Sub' $P274 = "79_1272455245.85124"
+ .const 'Sub' $P274 = "79_1272816831.40736"
capture_lex $P274
- .const 'Sub' $P268 = "77_1272455245.85124"
+ .const 'Sub' $P268 = "77_1272816831.40736"
capture_lex $P268
- .const 'Sub' $P261 = "75_1272455245.85124"
+ .const 'Sub' $P261 = "75_1272816831.40736"
capture_lex $P261
- .const 'Sub' $P254 = "73_1272455245.85124"
+ .const 'Sub' $P254 = "73_1272816831.40736"
capture_lex $P254
- .const 'Sub' $P247 = "71_1272455245.85124"
+ .const 'Sub' $P247 = "71_1272816831.40736"
capture_lex $P247
- .const 'Sub' $P240 = "69_1272455245.85124"
+ .const 'Sub' $P240 = "69_1272816831.40736"
capture_lex $P240
- .const 'Sub' $P234 = "67_1272455245.85124"
+ .const 'Sub' $P234 = "67_1272816831.40736"
capture_lex $P234
- .const 'Sub' $P228 = "65_1272455245.85124"
+ .const 'Sub' $P228 = "65_1272816831.40736"
capture_lex $P228
- .const 'Sub' $P222 = "63_1272455245.85124"
+ .const 'Sub' $P222 = "63_1272816831.40736"
capture_lex $P222
- .const 'Sub' $P216 = "61_1272455245.85124"
+ .const 'Sub' $P216 = "61_1272816831.40736"
capture_lex $P216
- .const 'Sub' $P210 = "59_1272455245.85124"
+ .const 'Sub' $P210 = "59_1272816831.40736"
capture_lex $P210
- .const 'Sub' $P205 = "57_1272455245.85124"
+ .const 'Sub' $P205 = "57_1272816831.40736"
capture_lex $P205
- .const 'Sub' $P200 = "55_1272455245.85124"
+ .const 'Sub' $P200 = "55_1272816831.40736"
capture_lex $P200
- .const 'Sub' $P194 = "53_1272455245.85124"
+ .const 'Sub' $P194 = "53_1272816831.40736"
capture_lex $P194
- .const 'Sub' $P188 = "51_1272455245.85124"
+ .const 'Sub' $P188 = "51_1272816831.40736"
capture_lex $P188
- .const 'Sub' $P182 = "49_1272455245.85124"
+ .const 'Sub' $P182 = "49_1272816831.40736"
capture_lex $P182
- .const 'Sub' $P166 = "44_1272455245.85124"
+ .const 'Sub' $P166 = "44_1272816831.40736"
capture_lex $P166
- .const 'Sub' $P154 = "42_1272455245.85124"
+ .const 'Sub' $P154 = "42_1272816831.40736"
capture_lex $P154
- .const 'Sub' $P147 = "40_1272455245.85124"
+ .const 'Sub' $P147 = "40_1272816831.40736"
capture_lex $P147
- .const 'Sub' $P140 = "38_1272455245.85124"
+ .const 'Sub' $P140 = "38_1272816831.40736"
capture_lex $P140
- .const 'Sub' $P133 = "36_1272455245.85124"
+ .const 'Sub' $P133 = "36_1272816831.40736"
capture_lex $P133
- .const 'Sub' $P114 = "31_1272455245.85124"
+ .const 'Sub' $P114 = "31_1272816831.40736"
capture_lex $P114
- .const 'Sub' $P101 = "28_1272455245.85124"
+ .const 'Sub' $P101 = "28_1272816831.40736"
capture_lex $P101
- .const 'Sub' $P94 = "26_1272455245.85124"
+ .const 'Sub' $P94 = "26_1272816831.40736"
capture_lex $P94
- .const 'Sub' $P82 = "24_1272455245.85124"
+ .const 'Sub' $P82 = "24_1272816831.40736"
capture_lex $P82
- .const 'Sub' $P75 = "22_1272455245.85124"
+ .const 'Sub' $P75 = "22_1272816831.40736"
capture_lex $P75
- .const 'Sub' $P63 = "20_1272455245.85124"
+ .const 'Sub' $P63 = "20_1272816831.40736"
capture_lex $P63
- .const 'Sub' $P56 = "18_1272455245.85124"
+ .const 'Sub' $P56 = "18_1272816831.40736"
capture_lex $P56
- .const 'Sub' $P46 = "15_1272455245.85124"
+ .const 'Sub' $P46 = "15_1272816831.40736"
capture_lex $P46
- .const 'Sub' $P38 = "13_1272455245.85124"
+ .const 'Sub' $P38 = "13_1272816831.40736"
capture_lex $P38
- .const 'Sub' $P15 = "12_1272455245.85124"
+ .const 'Sub' $P15 = "12_1272816831.40736"
capture_lex $P15
- .const 'Sub' $P571 = "156_1272455245.85124"
+ .const 'Sub' $P571 = "156_1272816831.40736"
capture_lex $P571
.return ($P571)
.end
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "obs" :subid("12_1272455245.85124") :method :outer("11_1272455245.85124")
+.sub "obs" :subid("12_1272816831.40736") :method :outer("11_1272816831.40736")
.param pmc param_18
.param pmc param_19
.param pmc param_20 :optional
@@ -222,7 +222,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "ws" :subid("13_1272455245.85124") :method :outer("11_1272455245.85124")
+.sub "ws" :subid("13_1272816831.40736") :method :outer("11_1272816831.40736")
.annotate "line", 3
.local string rx39_tgt
.local int rx39_pos
@@ -304,7 +304,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__ws" :subid("14_1272455245.85124") :method
+.sub "!PREFIX__ws" :subid("14_1272816831.40736") :method
.annotate "line", 3
new $P41, "ResizablePMCArray"
push $P41, ""
@@ -313,9 +313,9 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "normspace" :subid("15_1272455245.85124") :method :outer("11_1272455245.85124")
+.sub "normspace" :subid("15_1272816831.40736") :method :outer("11_1272816831.40736")
.annotate "line", 3
- .const 'Sub' $P52 = "17_1272455245.85124"
+ .const 'Sub' $P52 = "17_1272816831.40736"
capture_lex $P52
.local string rx47_tgt
.local int rx47_pos
@@ -349,7 +349,7 @@
.annotate "line", 10
# rx subrule "before" subtype=zerowidth negate=
rx47_cur."!cursor_pos"(rx47_pos)
- .const 'Sub' $P52 = "17_1272455245.85124"
+ .const 'Sub' $P52 = "17_1272816831.40736"
capture_lex $P52
$P10 = rx47_cur."before"($P52)
unless $P10, rx47_fail
@@ -377,7 +377,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__normspace" :subid("16_1272455245.85124") :method
+.sub "!PREFIX__normspace" :subid("16_1272816831.40736") :method
.annotate "line", 3
new $P49, "ResizablePMCArray"
push $P49, ""
@@ -386,7 +386,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "_block51" :anon :subid("17_1272455245.85124") :method :outer("15_1272455245.85124")
+.sub "_block51" :anon :subid("17_1272816831.40736") :method :outer("15_1272816831.40736")
.annotate "line", 10
.local string rx53_tgt
.local int rx53_pos
@@ -454,7 +454,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "arg" :subid("18_1272455245.85124") :method :outer("11_1272455245.85124")
+.sub "arg" :subid("18_1272816831.40736") :method :outer("11_1272816831.40736")
.annotate "line", 3
.local string rx57_tgt
.local int rx57_pos
@@ -565,7 +565,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__arg" :subid("19_1272455245.85124") :method
+.sub "!PREFIX__arg" :subid("19_1272816831.40736") :method
.annotate "line", 3
new $P59, "ResizablePMCArray"
push $P59, ""
@@ -576,7 +576,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "arglist" :subid("20_1272455245.85124") :method :outer("11_1272455245.85124")
+.sub "arglist" :subid("20_1272816831.40736") :method :outer("11_1272816831.40736")
.annotate "line", 3
.local string rx64_tgt
.local int rx64_pos
@@ -682,7 +682,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__arglist" :subid("21_1272455245.85124") :method
+.sub "!PREFIX__arglist" :subid("21_1272816831.40736") :method
.annotate "line", 3
new $P66, "ResizablePMCArray"
push $P66, ""
@@ -691,7 +691,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "TOP" :subid("22_1272455245.85124") :method :outer("11_1272455245.85124")
+.sub "TOP" :subid("22_1272816831.40736") :method :outer("11_1272816831.40736")
.annotate "line", 3
.local string rx76_tgt
.local int rx76_pos
@@ -764,7 +764,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__TOP" :subid("23_1272455245.85124") :method
+.sub "!PREFIX__TOP" :subid("23_1272816831.40736") :method
.annotate "line", 3
$P78 = self."!PREFIX__!subrule"("nibbler", "")
new $P79, "ResizablePMCArray"
@@ -774,7 +774,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "nibbler" :subid("24_1272455245.85124") :method :outer("11_1272455245.85124")
+.sub "nibbler" :subid("24_1272816831.40736") :method :outer("11_1272816831.40736")
.annotate "line", 3
.local string rx83_tgt
.local int rx83_pos
@@ -942,7 +942,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__nibbler" :subid("25_1272455245.85124") :method
+.sub "!PREFIX__nibbler" :subid("25_1272816831.40736") :method
.annotate "line", 3
new $P85, "ResizablePMCArray"
push $P85, ""
@@ -951,7 +951,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "termish" :subid("26_1272455245.85124") :method :outer("11_1272455245.85124")
+.sub "termish" :subid("26_1272816831.40736") :method :outer("11_1272816831.40736")
.annotate "line", 3
.local string rx95_tgt
.local int rx95_pos
@@ -1019,7 +1019,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__termish" :subid("27_1272455245.85124") :method
+.sub "!PREFIX__termish" :subid("27_1272816831.40736") :method
.annotate "line", 3
new $P97, "ResizablePMCArray"
push $P97, ""
@@ -1028,9 +1028,9 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "quantified_atom" :subid("28_1272455245.85124") :method :outer("11_1272455245.85124")
+.sub "quantified_atom" :subid("28_1272816831.40736") :method :outer("11_1272816831.40736")
.annotate "line", 3
- .const 'Sub' $P110 = "30_1272455245.85124"
+ .const 'Sub' $P110 = "30_1272816831.40736"
capture_lex $P110
.local string rx102_tgt
.local int rx102_pos
@@ -1093,7 +1093,7 @@
alt108_1:
# rx subrule "before" subtype=zerowidth negate=
rx102_cur."!cursor_pos"(rx102_pos)
- .const 'Sub' $P110 = "30_1272455245.85124"
+ .const 'Sub' $P110 = "30_1272816831.40736"
capture_lex $P110
$P10 = rx102_cur."before"($P110)
unless $P10, rx102_fail
@@ -1131,7 +1131,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__quantified_atom" :subid("29_1272455245.85124") :method
+.sub "!PREFIX__quantified_atom" :subid("29_1272816831.40736") :method
.annotate "line", 3
$P104 = self."!PREFIX__!subrule"("atom", "")
new $P105, "ResizablePMCArray"
@@ -1141,7 +1141,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "_block109" :anon :subid("30_1272455245.85124") :method :outer("28_1272455245.85124")
+.sub "_block109" :anon :subid("30_1272816831.40736") :method :outer("28_1272816831.40736")
.annotate "line", 41
.local string rx111_tgt
.local int rx111_pos
@@ -1197,9 +1197,9 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "atom" :subid("31_1272455245.85124") :method :outer("11_1272455245.85124")
+.sub "atom" :subid("31_1272816831.40736") :method :outer("11_1272816831.40736")
.annotate "line", 3
- .const 'Sub' $P125 = "33_1272455245.85124"
+ .const 'Sub' $P125 = "33_1272816831.40736"
capture_lex $P125
.local string rx115_tgt
.local int rx115_pos
@@ -1259,7 +1259,7 @@
rxquantg122_done:
# rx subrule "before" subtype=zerowidth negate=
rx115_cur."!cursor_pos"(rx115_pos)
- .const 'Sub' $P125 = "33_1272455245.85124"
+ .const 'Sub' $P125 = "33_1272816831.40736"
capture_lex $P125
$P10 = rx115_cur."before"($P125)
unless $P10, rx115_fail
@@ -1296,7 +1296,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__atom" :subid("32_1272455245.85124") :method
+.sub "!PREFIX__atom" :subid("32_1272816831.40736") :method
.annotate "line", 3
$P117 = self."!PREFIX__!subrule"("metachar", "")
new $P118, "ResizablePMCArray"
@@ -1307,7 +1307,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "_block124" :anon :subid("33_1272455245.85124") :method :outer("31_1272455245.85124")
+.sub "_block124" :anon :subid("33_1272816831.40736") :method :outer("31_1272816831.40736")
.annotate "line", 47
.local string rx126_tgt
.local int rx126_pos
@@ -1362,7 +1362,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "quantifier" :subid("34_1272455245.85124") :method
+.sub "quantifier" :subid("34_1272816831.40736") :method
.annotate "line", 52
$P130 = self."!protoregex"("quantifier")
.return ($P130)
@@ -1370,7 +1370,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__quantifier" :subid("35_1272455245.85124") :method
+.sub "!PREFIX__quantifier" :subid("35_1272816831.40736") :method
.annotate "line", 52
$P132 = self."!PREFIX__!protoregex"("quantifier")
.return ($P132)
@@ -1378,7 +1378,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "quantifier:sym<*>" :subid("36_1272455245.85124") :method :outer("11_1272455245.85124")
+.sub "quantifier:sym<*>" :subid("36_1272816831.40736") :method :outer("11_1272816831.40736")
.annotate "line", 3
.local string rx134_tgt
.local int rx134_pos
@@ -1457,7 +1457,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__quantifier:sym<*>" :subid("37_1272455245.85124") :method
+.sub "!PREFIX__quantifier:sym<*>" :subid("37_1272816831.40736") :method
.annotate "line", 3
$P136 = self."!PREFIX__!subrule"("backmod", "*")
new $P137, "ResizablePMCArray"
@@ -1467,7 +1467,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "quantifier:sym<+>" :subid("38_1272455245.85124") :method :outer("11_1272455245.85124")
+.sub "quantifier:sym<+>" :subid("38_1272816831.40736") :method :outer("11_1272816831.40736")
.annotate "line", 3
.local string rx141_tgt
.local int rx141_pos
@@ -1546,7 +1546,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__quantifier:sym<+>" :subid("39_1272455245.85124") :method
+.sub "!PREFIX__quantifier:sym<+>" :subid("39_1272816831.40736") :method
.annotate "line", 3
$P143 = self."!PREFIX__!subrule"("backmod", "+")
new $P144, "ResizablePMCArray"
@@ -1556,7 +1556,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "quantifier:sym<?>" :subid("40_1272455245.85124") :method :outer("11_1272455245.85124")
+.sub "quantifier:sym<?>" :subid("40_1272816831.40736") :method :outer("11_1272816831.40736")
.annotate "line", 3
.local string rx148_tgt
.local int rx148_pos
@@ -1635,7 +1635,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__quantifier:sym<?>" :subid("41_1272455245.85124") :method
+.sub "!PREFIX__quantifier:sym<?>" :subid("41_1272816831.40736") :method
.annotate "line", 3
$P150 = self."!PREFIX__!subrule"("backmod", "?")
new $P151, "ResizablePMCArray"
@@ -1645,7 +1645,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "quantifier:sym<**>" :subid("42_1272455245.85124") :method :outer("11_1272455245.85124")
+.sub "quantifier:sym<**>" :subid("42_1272816831.40736") :method :outer("11_1272816831.40736")
.annotate "line", 3
.local string rx155_tgt
.local int rx155_pos
@@ -1834,7 +1834,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__quantifier:sym<**>" :subid("43_1272455245.85124") :method
+.sub "!PREFIX__quantifier:sym<**>" :subid("43_1272816831.40736") :method
.annotate "line", 3
new $P157, "ResizablePMCArray"
push $P157, "**"
@@ -1843,9 +1843,9 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backmod" :subid("44_1272455245.85124") :method :outer("11_1272455245.85124")
+.sub "backmod" :subid("44_1272816831.40736") :method :outer("11_1272816831.40736")
.annotate "line", 3
- .const 'Sub' $P175 = "46_1272455245.85124"
+ .const 'Sub' $P175 = "46_1272816831.40736"
capture_lex $P175
.local string rx167_tgt
.local int rx167_pos
@@ -1915,7 +1915,7 @@
alt173_2:
# rx subrule "before" subtype=zerowidth negate=1
rx167_cur."!cursor_pos"(rx167_pos)
- .const 'Sub' $P175 = "46_1272455245.85124"
+ .const 'Sub' $P175 = "46_1272816831.40736"
capture_lex $P175
$P10 = rx167_cur."before"($P175)
if $P10, rx167_fail
@@ -1939,7 +1939,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backmod" :subid("45_1272455245.85124") :method
+.sub "!PREFIX__backmod" :subid("45_1272816831.40736") :method
.annotate "line", 3
new $P169, "ResizablePMCArray"
push $P169, ""
@@ -1948,7 +1948,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "_block174" :anon :subid("46_1272455245.85124") :method :outer("44_1272455245.85124")
+.sub "_block174" :anon :subid("46_1272816831.40736") :method :outer("44_1272816831.40736")
.annotate "line", 71
.local string rx176_tgt
.local int rx176_pos
@@ -2004,7 +2004,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar" :subid("47_1272455245.85124") :method
+.sub "metachar" :subid("47_1272816831.40736") :method
.annotate "line", 73
$P179 = self."!protoregex"("metachar")
.return ($P179)
@@ -2012,7 +2012,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar" :subid("48_1272455245.85124") :method
+.sub "!PREFIX__metachar" :subid("48_1272816831.40736") :method
.annotate "line", 73
$P181 = self."!PREFIX__!protoregex"("metachar")
.return ($P181)
@@ -2020,7 +2020,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<ws>" :subid("49_1272455245.85124") :method :outer("11_1272455245.85124")
+.sub "metachar:sym<ws>" :subid("49_1272816831.40736") :method :outer("11_1272816831.40736")
.annotate "line", 3
.local string rx183_tgt
.local int rx183_pos
@@ -2076,7 +2076,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<ws>" :subid("50_1272455245.85124") :method
+.sub "!PREFIX__metachar:sym<ws>" :subid("50_1272816831.40736") :method
.annotate "line", 3
$P185 = self."!PREFIX__!subrule"("", "")
new $P186, "ResizablePMCArray"
@@ -2086,7 +2086,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<[ ]>" :subid("51_1272455245.85124") :method :outer("11_1272455245.85124")
+.sub "metachar:sym<[ ]>" :subid("51_1272816831.40736") :method :outer("11_1272816831.40736")
.annotate "line", 3
.local string rx189_tgt
.local int rx189_pos
@@ -2158,7 +2158,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<[ ]>" :subid("52_1272455245.85124") :method
+.sub "!PREFIX__metachar:sym<[ ]>" :subid("52_1272816831.40736") :method
.annotate "line", 3
$P191 = self."!PREFIX__!subrule"("nibbler", "[")
new $P192, "ResizablePMCArray"
@@ -2168,7 +2168,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<( )>" :subid("53_1272455245.85124") :method :outer("11_1272455245.85124")
+.sub "metachar:sym<( )>" :subid("53_1272816831.40736") :method :outer("11_1272816831.40736")
.annotate "line", 3
.local string rx195_tgt
.local int rx195_pos
@@ -2240,7 +2240,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<( )>" :subid("54_1272455245.85124") :method
+.sub "!PREFIX__metachar:sym<( )>" :subid("54_1272816831.40736") :method
.annotate "line", 3
$P197 = self."!PREFIX__!subrule"("nibbler", "(")
new $P198, "ResizablePMCArray"
@@ -2250,7 +2250,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<'>" :subid("55_1272455245.85124") :method :outer("11_1272455245.85124")
+.sub "metachar:sym<'>" :subid("55_1272816831.40736") :method :outer("11_1272816831.40736")
.annotate "line", 3
.local string rx201_tgt
.local int rx201_pos
@@ -2314,7 +2314,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<'>" :subid("56_1272455245.85124") :method
+.sub "!PREFIX__metachar:sym<'>" :subid("56_1272816831.40736") :method
.annotate "line", 3
new $P203, "ResizablePMCArray"
push $P203, "'"
@@ -2323,7 +2323,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<\">" :subid("57_1272455245.85124") :method :outer("11_1272455245.85124")
+.sub "metachar:sym<\">" :subid("57_1272816831.40736") :method :outer("11_1272816831.40736")
.annotate "line", 3
.local string rx206_tgt
.local int rx206_pos
@@ -2387,7 +2387,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<\">" :subid("58_1272455245.85124") :method
+.sub "!PREFIX__metachar:sym<\">" :subid("58_1272816831.40736") :method
.annotate "line", 3
new $P208, "ResizablePMCArray"
push $P208, "\""
@@ -2396,7 +2396,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<.>" :subid("59_1272455245.85124") :method :outer("11_1272455245.85124")
+.sub "metachar:sym<.>" :subid("59_1272816831.40736") :method :outer("11_1272816831.40736")
.annotate "line", 3
.local string rx211_tgt
.local int rx211_pos
@@ -2468,7 +2468,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<.>" :subid("60_1272455245.85124") :method
+.sub "!PREFIX__metachar:sym<.>" :subid("60_1272816831.40736") :method
.annotate "line", 3
new $P213, "ResizablePMCArray"
push $P213, "."
@@ -2477,7 +2477,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<^>" :subid("61_1272455245.85124") :method :outer("11_1272455245.85124")
+.sub "metachar:sym<^>" :subid("61_1272816831.40736") :method :outer("11_1272816831.40736")
.annotate "line", 3
.local string rx217_tgt
.local int rx217_pos
@@ -2549,7 +2549,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<^>" :subid("62_1272455245.85124") :method
+.sub "!PREFIX__metachar:sym<^>" :subid("62_1272816831.40736") :method
.annotate "line", 3
new $P219, "ResizablePMCArray"
push $P219, "^"
@@ -2558,7 +2558,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<^^>" :subid("63_1272455245.85124") :method :outer("11_1272455245.85124")
+.sub "metachar:sym<^^>" :subid("63_1272816831.40736") :method :outer("11_1272816831.40736")
.annotate "line", 3
.local string rx223_tgt
.local int rx223_pos
@@ -2630,7 +2630,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<^^>" :subid("64_1272455245.85124") :method
+.sub "!PREFIX__metachar:sym<^^>" :subid("64_1272816831.40736") :method
.annotate "line", 3
new $P225, "ResizablePMCArray"
push $P225, "^^"
@@ -2639,7 +2639,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<$>" :subid("65_1272455245.85124") :method :outer("11_1272455245.85124")
+.sub "metachar:sym<$>" :subid("65_1272816831.40736") :method :outer("11_1272816831.40736")
.annotate "line", 3
.local string rx229_tgt
.local int rx229_pos
@@ -2711,7 +2711,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<$>" :subid("66_1272455245.85124") :method
+.sub "!PREFIX__metachar:sym<$>" :subid("66_1272816831.40736") :method
.annotate "line", 3
new $P231, "ResizablePMCArray"
push $P231, "$"
@@ -2720,7 +2720,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<$$>" :subid("67_1272455245.85124") :method :outer("11_1272455245.85124")
+.sub "metachar:sym<$$>" :subid("67_1272816831.40736") :method :outer("11_1272816831.40736")
.annotate "line", 3
.local string rx235_tgt
.local int rx235_pos
@@ -2792,7 +2792,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<$$>" :subid("68_1272455245.85124") :method
+.sub "!PREFIX__metachar:sym<$$>" :subid("68_1272816831.40736") :method
.annotate "line", 3
new $P237, "ResizablePMCArray"
push $P237, "$$"
@@ -2801,7 +2801,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<:::>" :subid("69_1272455245.85124") :method :outer("11_1272455245.85124")
+.sub "metachar:sym<:::>" :subid("69_1272816831.40736") :method :outer("11_1272816831.40736")
.annotate "line", 3
.local string rx241_tgt
.local int rx241_pos
@@ -2878,7 +2878,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<:::>" :subid("70_1272455245.85124") :method
+.sub "!PREFIX__metachar:sym<:::>" :subid("70_1272816831.40736") :method
.annotate "line", 3
$P243 = self."!PREFIX__!subrule"("", ":::")
new $P244, "ResizablePMCArray"
@@ -2888,7 +2888,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<::>" :subid("71_1272455245.85124") :method :outer("11_1272455245.85124")
+.sub "metachar:sym<::>" :subid("71_1272816831.40736") :method :outer("11_1272816831.40736")
.annotate "line", 3
.local string rx248_tgt
.local int rx248_pos
@@ -2965,7 +2965,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<::>" :subid("72_1272455245.85124") :method
+.sub "!PREFIX__metachar:sym<::>" :subid("72_1272816831.40736") :method
.annotate "line", 3
$P250 = self."!PREFIX__!subrule"("", "::")
new $P251, "ResizablePMCArray"
@@ -2975,7 +2975,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<lwb>" :subid("73_1272455245.85124") :method :outer("11_1272455245.85124")
+.sub "metachar:sym<lwb>" :subid("73_1272816831.40736") :method :outer("11_1272816831.40736")
.annotate "line", 3
.local string rx255_tgt
.local int rx255_pos
@@ -3060,7 +3060,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<lwb>" :subid("74_1272455245.85124") :method
+.sub "!PREFIX__metachar:sym<lwb>" :subid("74_1272816831.40736") :method
.annotate "line", 3
new $P257, "ResizablePMCArray"
push $P257, unicode:"\x{ab}"
@@ -3070,7 +3070,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<rwb>" :subid("75_1272455245.85124") :method :outer("11_1272455245.85124")
+.sub "metachar:sym<rwb>" :subid("75_1272816831.40736") :method :outer("11_1272816831.40736")
.annotate "line", 3
.local string rx262_tgt
.local int rx262_pos
@@ -3155,7 +3155,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<rwb>" :subid("76_1272455245.85124") :method
+.sub "!PREFIX__metachar:sym<rwb>" :subid("76_1272816831.40736") :method
.annotate "line", 3
new $P264, "ResizablePMCArray"
push $P264, unicode:"\x{bb}"
@@ -3165,7 +3165,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<bs>" :subid("77_1272455245.85124") :method :outer("11_1272455245.85124")
+.sub "metachar:sym<bs>" :subid("77_1272816831.40736") :method :outer("11_1272816831.40736")
.annotate "line", 3
.local string rx269_tgt
.local int rx269_pos
@@ -3230,7 +3230,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<bs>" :subid("78_1272455245.85124") :method
+.sub "!PREFIX__metachar:sym<bs>" :subid("78_1272816831.40736") :method
.annotate "line", 3
$P271 = self."!PREFIX__!subrule"("backslash", "\\")
new $P272, "ResizablePMCArray"
@@ -3240,7 +3240,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<mod>" :subid("79_1272455245.85124") :method :outer("11_1272455245.85124")
+.sub "metachar:sym<mod>" :subid("79_1272816831.40736") :method :outer("11_1272816831.40736")
.annotate "line", 3
.local string rx275_tgt
.local int rx275_pos
@@ -3298,7 +3298,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<mod>" :subid("80_1272455245.85124") :method
+.sub "!PREFIX__metachar:sym<mod>" :subid("80_1272816831.40736") :method
.annotate "line", 3
$P277 = self."!PREFIX__!subrule"("mod_internal", "")
new $P278, "ResizablePMCArray"
@@ -3308,7 +3308,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<~>" :subid("81_1272455245.85124") :method :outer("11_1272455245.85124")
+.sub "metachar:sym<~>" :subid("81_1272816831.40736") :method :outer("11_1272816831.40736")
.annotate "line", 3
.local string rx281_tgt
.local int rx281_pos
@@ -3407,7 +3407,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<~>" :subid("82_1272455245.85124") :method
+.sub "!PREFIX__metachar:sym<~>" :subid("82_1272816831.40736") :method
.annotate "line", 3
$P283 = self."!PREFIX__!subrule"("", "~")
new $P284, "ResizablePMCArray"
@@ -3417,7 +3417,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<{*}>" :subid("83_1272455245.85124") :method :outer("11_1272455245.85124")
+.sub "metachar:sym<{*}>" :subid("83_1272816831.40736") :method :outer("11_1272816831.40736")
.annotate "line", 3
.local string rx288_tgt
.local int rx288_pos
@@ -3584,7 +3584,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<{*}>" :subid("84_1272455245.85124") :method
+.sub "!PREFIX__metachar:sym<{*}>" :subid("84_1272816831.40736") :method
.annotate "line", 3
new $P290, "ResizablePMCArray"
push $P290, "{*}"
@@ -3593,7 +3593,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<assert>" :subid("85_1272455245.85124") :method :outer("11_1272455245.85124")
+.sub "metachar:sym<assert>" :subid("85_1272816831.40736") :method :outer("11_1272816831.40736")
.annotate "line", 3
.local string rx305_tgt
.local int rx305_pos
@@ -3678,7 +3678,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<assert>" :subid("86_1272455245.85124") :method
+.sub "!PREFIX__metachar:sym<assert>" :subid("86_1272816831.40736") :method
.annotate "line", 3
$P307 = self."!PREFIX__!subrule"("assertion", "<")
new $P308, "ResizablePMCArray"
@@ -3688,7 +3688,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<var>" :subid("87_1272455245.85124") :method :outer("11_1272455245.85124")
+.sub "metachar:sym<var>" :subid("87_1272816831.40736") :method :outer("11_1272816831.40736")
.annotate "line", 3
.local string rx312_tgt
.local int rx312_pos
@@ -3850,7 +3850,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<var>" :subid("88_1272455245.85124") :method
+.sub "!PREFIX__metachar:sym<var>" :subid("88_1272816831.40736") :method
.annotate "line", 3
new $P314, "ResizablePMCArray"
push $P314, "$"
@@ -3860,7 +3860,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "metachar:sym<PIR>" :subid("89_1272455245.85124") :method :outer("11_1272455245.85124")
+.sub "metachar:sym<PIR>" :subid("89_1272816831.40736") :method :outer("11_1272816831.40736")
.annotate "line", 3
.local string rx324_tgt
.local int rx324_pos
@@ -3951,7 +3951,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__metachar:sym<PIR>" :subid("90_1272455245.85124") :method
+.sub "!PREFIX__metachar:sym<PIR>" :subid("90_1272816831.40736") :method
.annotate "line", 3
new $P326, "ResizablePMCArray"
push $P326, ":PIR{{"
@@ -3960,7 +3960,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash" :subid("91_1272455245.85124") :method
+.sub "backslash" :subid("91_1272816831.40736") :method
.annotate "line", 120
$P332 = self."!protoregex"("backslash")
.return ($P332)
@@ -3968,7 +3968,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backslash" :subid("92_1272455245.85124") :method
+.sub "!PREFIX__backslash" :subid("92_1272816831.40736") :method
.annotate "line", 120
$P334 = self."!PREFIX__!protoregex"("backslash")
.return ($P334)
@@ -3976,7 +3976,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash:sym<w>" :subid("93_1272455245.85124") :method :outer("11_1272455245.85124")
+.sub "backslash:sym<w>" :subid("93_1272816831.40736") :method :outer("11_1272816831.40736")
.annotate "line", 3
.local string rx336_tgt
.local int rx336_pos
@@ -4048,7 +4048,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backslash:sym<w>" :subid("94_1272455245.85124") :method
+.sub "!PREFIX__backslash:sym<w>" :subid("94_1272816831.40736") :method
.annotate "line", 3
new $P338, "ResizablePMCArray"
push $P338, "N"
@@ -4064,7 +4064,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash:sym<b>" :subid("95_1272455245.85124") :method :outer("11_1272455245.85124")
+.sub "backslash:sym<b>" :subid("95_1272816831.40736") :method :outer("11_1272816831.40736")
.annotate "line", 3
.local string rx342_tgt
.local int rx342_pos
@@ -4136,7 +4136,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backslash:sym<b>" :subid("96_1272455245.85124") :method
+.sub "!PREFIX__backslash:sym<b>" :subid("96_1272816831.40736") :method
.annotate "line", 3
new $P344, "ResizablePMCArray"
push $P344, "B"
@@ -4146,7 +4146,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash:sym<e>" :subid("97_1272455245.85124") :method :outer("11_1272455245.85124")
+.sub "backslash:sym<e>" :subid("97_1272816831.40736") :method :outer("11_1272816831.40736")
.annotate "line", 3
.local string rx348_tgt
.local int rx348_pos
@@ -4218,7 +4218,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backslash:sym<e>" :subid("98_1272455245.85124") :method
+.sub "!PREFIX__backslash:sym<e>" :subid("98_1272816831.40736") :method
.annotate "line", 3
new $P350, "ResizablePMCArray"
push $P350, "E"
@@ -4228,7 +4228,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash:sym<f>" :subid("99_1272455245.85124") :method :outer("11_1272455245.85124")
+.sub "backslash:sym<f>" :subid("99_1272816831.40736") :method :outer("11_1272816831.40736")
.annotate "line", 3
.local string rx354_tgt
.local int rx354_pos
@@ -4300,7 +4300,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backslash:sym<f>" :subid("100_1272455245.85124") :method
+.sub "!PREFIX__backslash:sym<f>" :subid("100_1272816831.40736") :method
.annotate "line", 3
new $P356, "ResizablePMCArray"
push $P356, "F"
@@ -4310,7 +4310,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash:sym<h>" :subid("101_1272455245.85124") :method :outer("11_1272455245.85124")
+.sub "backslash:sym<h>" :subid("101_1272816831.40736") :method :outer("11_1272816831.40736")
.annotate "line", 3
.local string rx360_tgt
.local int rx360_pos
@@ -4382,7 +4382,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backslash:sym<h>" :subid("102_1272455245.85124") :method
+.sub "!PREFIX__backslash:sym<h>" :subid("102_1272816831.40736") :method
.annotate "line", 3
new $P362, "ResizablePMCArray"
push $P362, "H"
@@ -4392,7 +4392,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash:sym<r>" :subid("103_1272455245.85124") :method :outer("11_1272455245.85124")
+.sub "backslash:sym<r>" :subid("103_1272816831.40736") :method :outer("11_1272816831.40736")
.annotate "line", 3
.local string rx366_tgt
.local int rx366_pos
@@ -4464,7 +4464,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backslash:sym<r>" :subid("104_1272455245.85124") :method
+.sub "!PREFIX__backslash:sym<r>" :subid("104_1272816831.40736") :method
.annotate "line", 3
new $P368, "ResizablePMCArray"
push $P368, "R"
@@ -4474,7 +4474,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash:sym<t>" :subid("105_1272455245.85124") :method :outer("11_1272455245.85124")
+.sub "backslash:sym<t>" :subid("105_1272816831.40736") :method :outer("11_1272816831.40736")
.annotate "line", 3
.local string rx372_tgt
.local int rx372_pos
@@ -4546,7 +4546,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backslash:sym<t>" :subid("106_1272455245.85124") :method
+.sub "!PREFIX__backslash:sym<t>" :subid("106_1272816831.40736") :method
.annotate "line", 3
new $P374, "ResizablePMCArray"
push $P374, "T"
@@ -4556,7 +4556,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash:sym<v>" :subid("107_1272455245.85124") :method :outer("11_1272455245.85124")
+.sub "backslash:sym<v>" :subid("107_1272816831.40736") :method :outer("11_1272816831.40736")
.annotate "line", 3
.local string rx378_tgt
.local int rx378_pos
@@ -4628,7 +4628,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backslash:sym<v>" :subid("108_1272455245.85124") :method
+.sub "!PREFIX__backslash:sym<v>" :subid("108_1272816831.40736") :method
.annotate "line", 3
new $P380, "ResizablePMCArray"
push $P380, "V"
@@ -4638,7 +4638,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash:sym<o>" :subid("109_1272455245.85124") :method :outer("11_1272455245.85124")
+.sub "backslash:sym<o>" :subid("109_1272816831.40736") :method :outer("11_1272816831.40736")
.annotate "line", 3
.local string rx384_tgt
.local int rx384_pos
@@ -4744,7 +4744,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backslash:sym<o>" :subid("110_1272455245.85124") :method
+.sub "!PREFIX__backslash:sym<o>" :subid("110_1272816831.40736") :method
.annotate "line", 3
$P386 = self."!PREFIX__!subrule"("octints", "O[")
$P387 = self."!PREFIX__!subrule"("octint", "O")
@@ -4760,7 +4760,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash:sym<x>" :subid("111_1272455245.85124") :method :outer("11_1272455245.85124")
+.sub "backslash:sym<x>" :subid("111_1272816831.40736") :method :outer("11_1272816831.40736")
.annotate "line", 3
.local string rx395_tgt
.local int rx395_pos
@@ -4866,7 +4866,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backslash:sym<x>" :subid("112_1272455245.85124") :method
+.sub "!PREFIX__backslash:sym<x>" :subid("112_1272816831.40736") :method
.annotate "line", 3
$P397 = self."!PREFIX__!subrule"("hexints", "X[")
$P398 = self."!PREFIX__!subrule"("hexint", "X")
@@ -4882,7 +4882,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash:sym<c>" :subid("113_1272455245.85124") :method :outer("11_1272455245.85124")
+.sub "backslash:sym<c>" :subid("113_1272816831.40736") :method :outer("11_1272816831.40736")
.annotate "line", 3
.local string rx406_tgt
.local int rx406_pos
@@ -4961,7 +4961,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backslash:sym<c>" :subid("114_1272455245.85124") :method
+.sub "!PREFIX__backslash:sym<c>" :subid("114_1272816831.40736") :method
.annotate "line", 3
$P408 = self."!PREFIX__!subrule"("charspec", "C")
$P409 = self."!PREFIX__!subrule"("charspec", "c")
@@ -4973,7 +4973,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash:sym<A>" :subid("115_1272455245.85124") :method :outer("11_1272455245.85124")
+.sub "backslash:sym<A>" :subid("115_1272816831.40736") :method :outer("11_1272816831.40736")
.annotate "line", 3
.local string rx414_tgt
.local int rx414_pos
@@ -5036,7 +5036,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backslash:sym<A>" :subid("116_1272455245.85124") :method
+.sub "!PREFIX__backslash:sym<A>" :subid("116_1272816831.40736") :method
.annotate "line", 3
$P416 = self."!PREFIX__!subrule"("", "A")
new $P417, "ResizablePMCArray"
@@ -5046,7 +5046,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash:sym<z>" :subid("117_1272455245.85124") :method :outer("11_1272455245.85124")
+.sub "backslash:sym<z>" :subid("117_1272816831.40736") :method :outer("11_1272816831.40736")
.annotate "line", 3
.local string rx420_tgt
.local int rx420_pos
@@ -5109,7 +5109,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backslash:sym<z>" :subid("118_1272455245.85124") :method
+.sub "!PREFIX__backslash:sym<z>" :subid("118_1272816831.40736") :method
.annotate "line", 3
$P422 = self."!PREFIX__!subrule"("", "z")
new $P423, "ResizablePMCArray"
@@ -5119,7 +5119,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash:sym<Z>" :subid("119_1272455245.85124") :method :outer("11_1272455245.85124")
+.sub "backslash:sym<Z>" :subid("119_1272816831.40736") :method :outer("11_1272816831.40736")
.annotate "line", 3
.local string rx426_tgt
.local int rx426_pos
@@ -5182,7 +5182,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backslash:sym<Z>" :subid("120_1272455245.85124") :method
+.sub "!PREFIX__backslash:sym<Z>" :subid("120_1272816831.40736") :method
.annotate "line", 3
$P428 = self."!PREFIX__!subrule"("", "Z")
new $P429, "ResizablePMCArray"
@@ -5192,7 +5192,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash:sym<Q>" :subid("121_1272455245.85124") :method :outer("11_1272455245.85124")
+.sub "backslash:sym<Q>" :subid("121_1272816831.40736") :method :outer("11_1272816831.40736")
.annotate "line", 3
.local string rx432_tgt
.local int rx432_pos
@@ -5255,7 +5255,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backslash:sym<Q>" :subid("122_1272455245.85124") :method
+.sub "!PREFIX__backslash:sym<Q>" :subid("122_1272816831.40736") :method
.annotate "line", 3
$P434 = self."!PREFIX__!subrule"("", "Q")
new $P435, "ResizablePMCArray"
@@ -5265,7 +5265,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "backslash:sym<misc>" :subid("123_1272455245.85124") :method :outer("11_1272455245.85124")
+.sub "backslash:sym<misc>" :subid("123_1272816831.40736") :method :outer("11_1272816831.40736")
.annotate "line", 3
.local string rx438_tgt
.local int rx438_pos
@@ -5322,7 +5322,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__backslash:sym<misc>" :subid("124_1272455245.85124") :method
+.sub "!PREFIX__backslash:sym<misc>" :subid("124_1272816831.40736") :method
.annotate "line", 3
new $P440, "ResizablePMCArray"
push $P440, ""
@@ -5331,7 +5331,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "assertion" :subid("125_1272455245.85124") :method
+.sub "assertion" :subid("125_1272816831.40736") :method
.annotate "line", 138
$P443 = self."!protoregex"("assertion")
.return ($P443)
@@ -5339,7 +5339,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__assertion" :subid("126_1272455245.85124") :method
+.sub "!PREFIX__assertion" :subid("126_1272816831.40736") :method
.annotate "line", 138
$P445 = self."!PREFIX__!protoregex"("assertion")
.return ($P445)
@@ -5347,9 +5347,9 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "assertion:sym<?>" :subid("127_1272455245.85124") :method :outer("11_1272455245.85124")
+.sub "assertion:sym<?>" :subid("127_1272816831.40736") :method :outer("11_1272816831.40736")
.annotate "line", 3
- .const 'Sub' $P454 = "129_1272455245.85124"
+ .const 'Sub' $P454 = "129_1272816831.40736"
capture_lex $P454
.local string rx447_tgt
.local int rx447_pos
@@ -5393,7 +5393,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_1272455245.85124"
+ .const 'Sub' $P454 = "129_1272816831.40736"
capture_lex $P454
$P10 = rx447_cur."before"($P454)
unless $P10, rx447_fail
@@ -5426,7 +5426,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__assertion:sym<?>" :subid("128_1272455245.85124") :method
+.sub "!PREFIX__assertion:sym<?>" :subid("128_1272816831.40736") :method
.annotate "line", 3
$P449 = self."!PREFIX__!subrule"("assertion", "?")
new $P450, "ResizablePMCArray"
@@ -5437,7 +5437,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "_block453" :anon :subid("129_1272455245.85124") :method :outer("127_1272455245.85124")
+.sub "_block453" :anon :subid("129_1272816831.40736") :method :outer("127_1272816831.40736")
.annotate "line", 140
.local string rx455_tgt
.local int rx455_pos
@@ -5493,9 +5493,9 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "assertion:sym<!>" :subid("130_1272455245.85124") :method :outer("11_1272455245.85124")
+.sub "assertion:sym<!>" :subid("130_1272816831.40736") :method :outer("11_1272816831.40736")
.annotate "line", 3
- .const 'Sub' $P465 = "132_1272455245.85124"
+ .const 'Sub' $P465 = "132_1272816831.40736"
capture_lex $P465
.local string rx458_tgt
.local int rx458_pos
@@ -5539,7 +5539,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_1272455245.85124"
+ .const 'Sub' $P465 = "132_1272816831.40736"
capture_lex $P465
$P10 = rx458_cur."before"($P465)
unless $P10, rx458_fail
@@ -5572,7 +5572,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__assertion:sym<!>" :subid("131_1272455245.85124") :method
+.sub "!PREFIX__assertion:sym<!>" :subid("131_1272816831.40736") :method
.annotate "line", 3
$P460 = self."!PREFIX__!subrule"("assertion", "!")
new $P461, "ResizablePMCArray"
@@ -5583,7 +5583,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "_block464" :anon :subid("132_1272455245.85124") :method :outer("130_1272455245.85124")
+.sub "_block464" :anon :subid("132_1272816831.40736") :method :outer("130_1272816831.40736")
.annotate "line", 141
.local string rx466_tgt
.local int rx466_pos
@@ -5639,7 +5639,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "assertion:sym<method>" :subid("133_1272455245.85124") :method :outer("11_1272455245.85124")
+.sub "assertion:sym<method>" :subid("133_1272816831.40736") :method :outer("11_1272816831.40736")
.annotate "line", 3
.local string rx469_tgt
.local int rx469_pos
@@ -5705,7 +5705,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__assertion:sym<method>" :subid("134_1272455245.85124") :method
+.sub "!PREFIX__assertion:sym<method>" :subid("134_1272816831.40736") :method
.annotate "line", 3
$P471 = self."!PREFIX__!subrule"("assertion", ".")
new $P472, "ResizablePMCArray"
@@ -5715,9 +5715,9 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "assertion:sym<name>" :subid("135_1272455245.85124") :method :outer("11_1272455245.85124")
+.sub "assertion:sym<name>" :subid("135_1272816831.40736") :method :outer("11_1272816831.40736")
.annotate "line", 3
- .const 'Sub' $P483 = "137_1272455245.85124"
+ .const 'Sub' $P483 = "137_1272816831.40736"
capture_lex $P483
.local string rx475_tgt
.local int rx475_pos
@@ -5727,7 +5727,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"("assertion", "nibbler", "arglist")
+ rx475_cur."!cursor_caparray"("nibbler", "arglist", "assertion")
.lex unicode:"$\x{a2}", rx475_cur
.local pmc match
.lex "$/", match
@@ -5782,7 +5782,7 @@
.annotate "line", 150
# rx subrule "before" subtype=zerowidth negate=
rx475_cur."!cursor_pos"(rx475_pos)
- .const 'Sub' $P483 = "137_1272455245.85124"
+ .const 'Sub' $P483 = "137_1272816831.40736"
capture_lex $P483
$P10 = rx475_cur."before"($P483)
unless $P10, rx475_fail
@@ -5889,7 +5889,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__assertion:sym<name>" :subid("136_1272455245.85124") :method
+.sub "!PREFIX__assertion:sym<name>" :subid("136_1272816831.40736") :method
.annotate "line", 3
new $P477, "ResizablePMCArray"
push $P477, ""
@@ -5898,7 +5898,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "_block482" :anon :subid("137_1272455245.85124") :method :outer("135_1272455245.85124")
+.sub "_block482" :anon :subid("137_1272816831.40736") :method :outer("135_1272816831.40736")
.annotate "line", 150
.local string rx484_tgt
.local int rx484_pos
@@ -5954,9 +5954,9 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "assertion:sym<[>" :subid("138_1272455245.85124") :method :outer("11_1272455245.85124")
+.sub "assertion:sym<[>" :subid("138_1272816831.40736") :method :outer("11_1272816831.40736")
.annotate "line", 3
- .const 'Sub' $P493 = "140_1272455245.85124"
+ .const 'Sub' $P493 = "140_1272816831.40736"
capture_lex $P493
.local string rx488_tgt
.local int rx488_pos
@@ -5991,7 +5991,7 @@
.annotate "line", 158
# rx subrule "before" subtype=zerowidth negate=
rx488_cur."!cursor_pos"(rx488_pos)
- .const 'Sub' $P493 = "140_1272455245.85124"
+ .const 'Sub' $P493 = "140_1272816831.40736"
capture_lex $P493
$P10 = rx488_cur."before"($P493)
unless $P10, rx488_fail
@@ -6029,7 +6029,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__assertion:sym<[>" :subid("139_1272455245.85124") :method
+.sub "!PREFIX__assertion:sym<[>" :subid("139_1272816831.40736") :method
.annotate "line", 3
new $P490, "ResizablePMCArray"
push $P490, ""
@@ -6038,7 +6038,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "_block492" :anon :subid("140_1272455245.85124") :method :outer("138_1272455245.85124")
+.sub "_block492" :anon :subid("140_1272816831.40736") :method :outer("138_1272816831.40736")
.annotate "line", 158
.local string rx494_tgt
.local int rx494_pos
@@ -6118,9 +6118,9 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "cclass_elem" :subid("141_1272455245.85124") :method :outer("11_1272455245.85124")
+.sub "cclass_elem" :subid("141_1272816831.40736") :method :outer("11_1272816831.40736")
.annotate "line", 3
- .const 'Sub' $P511 = "143_1272455245.85124"
+ .const 'Sub' $P511 = "143_1272816831.40736"
capture_lex $P511
.local string rx500_tgt
.local int rx500_pos
@@ -6223,7 +6223,7 @@
.annotate "line", 164
# rx subrule $P511 subtype=capture negate=
rx500_cur."!cursor_pos"(rx500_pos)
- .const 'Sub' $P511 = "143_1272455245.85124"
+ .const 'Sub' $P511 = "143_1272816831.40736"
capture_lex $P511
$P10 = rx500_cur.$P511()
unless $P10, rx500_fail
@@ -6304,7 +6304,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__cclass_elem" :subid("142_1272455245.85124") :method
+.sub "!PREFIX__cclass_elem" :subid("142_1272816831.40736") :method
.annotate "line", 3
new $P502, "ResizablePMCArray"
push $P502, ""
@@ -6315,13 +6315,13 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "_block510" :anon :subid("143_1272455245.85124") :method :outer("141_1272455245.85124")
+.sub "_block510" :anon :subid("143_1272816831.40736") :method :outer("141_1272816831.40736")
.annotate "line", 164
- .const 'Sub' $P526 = "146_1272455245.85124"
+ .const 'Sub' $P526 = "146_1272816831.40736"
capture_lex $P526
- .const 'Sub' $P521 = "145_1272455245.85124"
+ .const 'Sub' $P521 = "145_1272816831.40736"
capture_lex $P521
- .const 'Sub' $P517 = "144_1272455245.85124"
+ .const 'Sub' $P517 = "144_1272816831.40736"
capture_lex $P517
.local string rx512_tgt
.local int rx512_pos
@@ -6392,7 +6392,7 @@
add rx512_pos, 1
# rx subrule $P517 subtype=capture negate=
rx512_cur."!cursor_pos"(rx512_pos)
- .const 'Sub' $P517 = "144_1272455245.85124"
+ .const 'Sub' $P517 = "144_1272816831.40736"
capture_lex $P517
$P10 = rx512_cur.$P517()
unless $P10, rx512_fail
@@ -6403,7 +6403,7 @@
alt515_1:
# rx subrule $P521 subtype=capture negate=
rx512_cur."!cursor_pos"(rx512_pos)
- .const 'Sub' $P521 = "145_1272455245.85124"
+ .const 'Sub' $P521 = "145_1272816831.40736"
capture_lex $P521
$P10 = rx512_cur.$P521()
unless $P10, rx512_fail
@@ -6432,7 +6432,7 @@
add rx512_pos, rx512_off, $I11
# rx subrule $P526 subtype=capture negate=
rx512_cur."!cursor_pos"(rx512_pos)
- .const 'Sub' $P526 = "146_1272455245.85124"
+ .const 'Sub' $P526 = "146_1272816831.40736"
capture_lex $P526
$P10 = rx512_cur.$P526()
unless $P10, rx512_fail
@@ -6461,7 +6461,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "_block516" :anon :subid("144_1272455245.85124") :method :outer("143_1272455245.85124")
+.sub "_block516" :anon :subid("144_1272816831.40736") :method :outer("143_1272816831.40736")
.annotate "line", 166
.local string rx518_tgt
.local int rx518_pos
@@ -6513,7 +6513,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "_block520" :anon :subid("145_1272455245.85124") :method :outer("143_1272455245.85124")
+.sub "_block520" :anon :subid("145_1272816831.40736") :method :outer("143_1272816831.40736")
.annotate "line", 166
.local string rx522_tgt
.local int rx522_pos
@@ -6569,7 +6569,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "_block525" :anon :subid("146_1272455245.85124") :method :outer("143_1272455245.85124")
+.sub "_block525" :anon :subid("146_1272816831.40736") :method :outer("143_1272816831.40736")
.annotate "line", 166
.local string rx527_tgt
.local int rx527_pos
@@ -6621,9 +6621,9 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "mod_internal" :subid("147_1272455245.85124") :method :outer("11_1272455245.85124")
+.sub "mod_internal" :subid("147_1272816831.40736") :method :outer("11_1272816831.40736")
.annotate "line", 3
- .const 'Sub' $P543 = "149_1272455245.85124"
+ .const 'Sub' $P543 = "149_1272816831.40736"
capture_lex $P543
.local string rx535_tgt
.local int rx535_pos
@@ -6673,7 +6673,7 @@
rxquantr541_loop:
# rx subrule $P543 subtype=capture negate=
rx535_cur."!cursor_pos"(rx535_pos)
- .const 'Sub' $P543 = "149_1272455245.85124"
+ .const 'Sub' $P543 = "149_1272816831.40736"
capture_lex $P543
$P10 = rx535_cur.$P543()
unless $P10, rx535_fail
@@ -6775,7 +6775,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__mod_internal" :subid("148_1272455245.85124") :method
+.sub "!PREFIX__mod_internal" :subid("148_1272816831.40736") :method
.annotate "line", 3
$P537 = self."!PREFIX__!subrule"("mod_ident", ":")
new $P538, "ResizablePMCArray"
@@ -6786,7 +6786,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "_block542" :anon :subid("149_1272455245.85124") :method :outer("147_1272455245.85124")
+.sub "_block542" :anon :subid("149_1272816831.40736") :method :outer("147_1272816831.40736")
.annotate "line", 176
.local string rx544_tgt
.local int rx544_pos
@@ -6854,7 +6854,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "mod_ident" :subid("150_1272455245.85124") :method
+.sub "mod_ident" :subid("150_1272816831.40736") :method
.annotate "line", 181
$P552 = self."!protoregex"("mod_ident")
.return ($P552)
@@ -6862,7 +6862,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__mod_ident" :subid("151_1272455245.85124") :method
+.sub "!PREFIX__mod_ident" :subid("151_1272816831.40736") :method
.annotate "line", 181
$P554 = self."!PREFIX__!protoregex"("mod_ident")
.return ($P554)
@@ -6870,7 +6870,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "mod_ident:sym<ignorecase>" :subid("152_1272455245.85124") :method :outer("11_1272455245.85124")
+.sub "mod_ident:sym<ignorecase>" :subid("152_1272816831.40736") :method :outer("11_1272816831.40736")
.annotate "line", 3
.local string rx556_tgt
.local int rx556_pos
@@ -6955,7 +6955,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__mod_ident:sym<ignorecase>" :subid("153_1272455245.85124") :method
+.sub "!PREFIX__mod_ident:sym<ignorecase>" :subid("153_1272816831.40736") :method
.annotate "line", 3
new $P558, "ResizablePMCArray"
push $P558, "i"
@@ -6964,7 +6964,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "mod_ident:sym<ratchet>" :subid("154_1272455245.85124") :method :outer("11_1272455245.85124")
+.sub "mod_ident:sym<ratchet>" :subid("154_1272816831.40736") :method :outer("11_1272816831.40736")
.annotate "line", 3
.local string rx564_tgt
.local int rx564_pos
@@ -7049,7 +7049,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__mod_ident:sym<ratchet>" :subid("155_1272455245.85124") :method
+.sub "!PREFIX__mod_ident:sym<ratchet>" :subid("155_1272816831.40736") :method
.annotate "line", 3
new $P566, "ResizablePMCArray"
push $P566, "r"
@@ -7058,7 +7058,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "mod_ident:sym<sigspace>" :subid("156_1272455245.85124") :method :outer("11_1272455245.85124")
+.sub "mod_ident:sym<sigspace>" :subid("156_1272816831.40736") :method :outer("11_1272816831.40736")
.annotate "line", 3
.local string rx572_tgt
.local int rx572_pos
@@ -7143,7 +7143,7 @@
.namespace ["Regex";"P6Regex";"Grammar"]
-.sub "!PREFIX__mod_ident:sym<sigspace>" :subid("157_1272455245.85124") :method
+.sub "!PREFIX__mod_ident:sym<sigspace>" :subid("157_1272816831.40736") :method
.annotate "line", 3
new $P574, "ResizablePMCArray"
push $P574, "s"
@@ -7153,7 +7153,7 @@
### .include 'gen/p6regex-actions.pir'
.namespace []
-.sub "_block11" :anon :subid("10_1272455249.42318")
+.sub "_block11" :anon :subid("10_1272816836.73052")
.annotate "line", 0
get_hll_global $P14, ["Regex";"P6Regex";"Actions"], "_block13"
capture_lex $P14
@@ -7167,9 +7167,9 @@
.namespace []
-.sub "" :load :init :subid("post90") :outer("10_1272455249.42318")
+.sub "" :load :init :subid("post90") :outer("10_1272816836.73052")
.annotate "line", 0
- .const 'Sub' $P12 = "10_1272455249.42318"
+ .const 'Sub' $P12 = "10_1272816836.73052"
.local pmc block
set block, $P12
$P1570 = get_root_global ["parrot"], "P6metaclass"
@@ -7178,117 +7178,117 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block13" :subid("11_1272455249.42318") :outer("10_1272455249.42318")
+.sub "_block13" :subid("11_1272816836.73052") :outer("10_1272816836.73052")
.annotate "line", 4
- .const 'Sub' $P1536 = "89_1272455249.42318"
+ .const 'Sub' $P1536 = "89_1272816836.73052"
capture_lex $P1536
- .const 'Sub' $P1467 = "85_1272455249.42318"
+ .const 'Sub' $P1467 = "85_1272816836.73052"
capture_lex $P1467
- .const 'Sub' $P1399 = "83_1272455249.42318"
+ .const 'Sub' $P1399 = "83_1272816836.73052"
capture_lex $P1399
- .const 'Sub' $P1326 = "80_1272455249.42318"
+ .const 'Sub' $P1326 = "80_1272816836.73052"
capture_lex $P1326
- .const 'Sub' $P1312 = "79_1272455249.42318"
+ .const 'Sub' $P1312 = "79_1272816836.73052"
capture_lex $P1312
- .const 'Sub' $P1288 = "78_1272455249.42318"
+ .const 'Sub' $P1288 = "78_1272816836.73052"
capture_lex $P1288
- .const 'Sub' $P1270 = "77_1272455249.42318"
+ .const 'Sub' $P1270 = "77_1272816836.73052"
capture_lex $P1270
- .const 'Sub' $P1256 = "76_1272455249.42318"
+ .const 'Sub' $P1256 = "76_1272816836.73052"
capture_lex $P1256
- .const 'Sub' $P1243 = "75_1272455249.42318"
+ .const 'Sub' $P1243 = "75_1272816836.73052"
capture_lex $P1243
- .const 'Sub' $P1212 = "74_1272455249.42318"
+ .const 'Sub' $P1212 = "74_1272816836.73052"
capture_lex $P1212
- .const 'Sub' $P1181 = "73_1272455249.42318"
+ .const 'Sub' $P1181 = "73_1272816836.73052"
capture_lex $P1181
- .const 'Sub' $P1165 = "72_1272455249.42318"
+ .const 'Sub' $P1165 = "72_1272816836.73052"
capture_lex $P1165
- .const 'Sub' $P1149 = "71_1272455249.42318"
+ .const 'Sub' $P1149 = "71_1272816836.73052"
capture_lex $P1149
- .const 'Sub' $P1133 = "70_1272455249.42318"
+ .const 'Sub' $P1133 = "70_1272816836.73052"
capture_lex $P1133
- .const 'Sub' $P1117 = "69_1272455249.42318"
+ .const 'Sub' $P1117 = "69_1272816836.73052"
capture_lex $P1117
- .const 'Sub' $P1101 = "68_1272455249.42318"
+ .const 'Sub' $P1101 = "68_1272816836.73052"
capture_lex $P1101
- .const 'Sub' $P1085 = "67_1272455249.42318"
+ .const 'Sub' $P1085 = "67_1272816836.73052"
capture_lex $P1085
- .const 'Sub' $P1069 = "66_1272455249.42318"
+ .const 'Sub' $P1069 = "66_1272816836.73052"
capture_lex $P1069
- .const 'Sub' $P1045 = "65_1272455249.42318"
+ .const 'Sub' $P1045 = "65_1272816836.73052"
capture_lex $P1045
- .const 'Sub' $P1030 = "64_1272455249.42318"
+ .const 'Sub' $P1030 = "64_1272816836.73052"
capture_lex $P1030
- .const 'Sub' $P974 = "63_1272455249.42318"
+ .const 'Sub' $P974 = "63_1272816836.73052"
capture_lex $P974
- .const 'Sub' $P953 = "62_1272455249.42318"
+ .const 'Sub' $P953 = "62_1272816836.73052"
capture_lex $P953
- .const 'Sub' $P931 = "61_1272455249.42318"
+ .const 'Sub' $P931 = "61_1272816836.73052"
capture_lex $P931
- .const 'Sub' $P921 = "60_1272455249.42318"
+ .const 'Sub' $P921 = "60_1272816836.73052"
capture_lex $P921
- .const 'Sub' $P911 = "59_1272455249.42318"
+ .const 'Sub' $P911 = "59_1272816836.73052"
capture_lex $P911
- .const 'Sub' $P901 = "58_1272455249.42318"
+ .const 'Sub' $P901 = "58_1272816836.73052"
capture_lex $P901
- .const 'Sub' $P889 = "57_1272455249.42318"
+ .const 'Sub' $P889 = "57_1272816836.73052"
capture_lex $P889
- .const 'Sub' $P877 = "56_1272455249.42318"
+ .const 'Sub' $P877 = "56_1272816836.73052"
capture_lex $P877
- .const 'Sub' $P865 = "55_1272455249.42318"
+ .const 'Sub' $P865 = "55_1272816836.73052"
capture_lex $P865
- .const 'Sub' $P853 = "54_1272455249.42318"
+ .const 'Sub' $P853 = "54_1272816836.73052"
capture_lex $P853
- .const 'Sub' $P841 = "53_1272455249.42318"
+ .const 'Sub' $P841 = "53_1272816836.73052"
capture_lex $P841
- .const 'Sub' $P829 = "52_1272455249.42318"
+ .const 'Sub' $P829 = "52_1272816836.73052"
capture_lex $P829
- .const 'Sub' $P817 = "51_1272455249.42318"
+ .const 'Sub' $P817 = "51_1272816836.73052"
capture_lex $P817
- .const 'Sub' $P805 = "50_1272455249.42318"
+ .const 'Sub' $P805 = "50_1272816836.73052"
capture_lex $P805
- .const 'Sub' $P782 = "49_1272455249.42318"
+ .const 'Sub' $P782 = "49_1272816836.73052"
capture_lex $P782
- .const 'Sub' $P759 = "48_1272455249.42318"
+ .const 'Sub' $P759 = "48_1272816836.73052"
capture_lex $P759
- .const 'Sub' $P741 = "47_1272455249.42318"
+ .const 'Sub' $P741 = "47_1272816836.73052"
capture_lex $P741
- .const 'Sub' $P731 = "46_1272455249.42318"
+ .const 'Sub' $P731 = "46_1272816836.73052"
capture_lex $P731
- .const 'Sub' $P713 = "45_1272455249.42318"
+ .const 'Sub' $P713 = "45_1272816836.73052"
capture_lex $P713
- .const 'Sub' $P666 = "44_1272455249.42318"
+ .const 'Sub' $P666 = "44_1272816836.73052"
capture_lex $P666
- .const 'Sub' $P649 = "43_1272455249.42318"
+ .const 'Sub' $P649 = "43_1272816836.73052"
capture_lex $P649
- .const 'Sub' $P634 = "42_1272455249.42318"
+ .const 'Sub' $P634 = "42_1272816836.73052"
capture_lex $P634
- .const 'Sub' $P619 = "41_1272455249.42318"
+ .const 'Sub' $P619 = "41_1272816836.73052"
capture_lex $P619
- .const 'Sub' $P593 = "40_1272455249.42318"
+ .const 'Sub' $P593 = "40_1272816836.73052"
capture_lex $P593
- .const 'Sub' $P543 = "38_1272455249.42318"
+ .const 'Sub' $P543 = "38_1272816836.73052"
capture_lex $P543
- .const 'Sub' $P475 = "36_1272455249.42318"
+ .const 'Sub' $P475 = "36_1272816836.73052"
capture_lex $P475
- .const 'Sub' $P420 = "33_1272455249.42318"
+ .const 'Sub' $P420 = "33_1272816836.73052"
capture_lex $P420
- .const 'Sub' $P405 = "32_1272455249.42318"
+ .const 'Sub' $P405 = "32_1272816836.73052"
capture_lex $P405
- .const 'Sub' $P379 = "30_1272455249.42318"
+ .const 'Sub' $P379 = "30_1272816836.73052"
capture_lex $P379
- .const 'Sub' $P362 = "29_1272455249.42318"
+ .const 'Sub' $P362 = "29_1272816836.73052"
capture_lex $P362
- .const 'Sub' $P340 = "28_1272455249.42318"
+ .const 'Sub' $P340 = "28_1272816836.73052"
capture_lex $P340
- .const 'Sub' $P308 = "27_1272455249.42318"
+ .const 'Sub' $P308 = "27_1272816836.73052"
capture_lex $P308
- .const 'Sub' $P54 = "14_1272455249.42318"
+ .const 'Sub' $P54 = "14_1272816836.73052"
capture_lex $P54
- .const 'Sub' $P21 = "13_1272455249.42318"
+ .const 'Sub' $P21 = "13_1272816836.73052"
capture_lex $P21
- .const 'Sub' $P16 = "12_1272455249.42318"
+ .const 'Sub' $P16 = "12_1272816836.73052"
capture_lex $P16
get_global $P15, "@MODIFIERS"
unless_null $P15, vivify_91
@@ -7296,23 +7296,23 @@
set_global "@MODIFIERS", $P15
vivify_91:
.annotate "line", 6
- .const 'Sub' $P16 = "12_1272455249.42318"
+ .const 'Sub' $P16 = "12_1272816836.73052"
capture_lex $P16
.lex "INIT", $P16
.annotate "line", 479
- .const 'Sub' $P21 = "13_1272455249.42318"
+ .const 'Sub' $P21 = "13_1272816836.73052"
capture_lex $P21
.lex "buildsub", $P21
.annotate "line", 496
- .const 'Sub' $P54 = "14_1272455249.42318"
+ .const 'Sub' $P54 = "14_1272816836.73052"
capture_lex $P54
.lex "capnames", $P54
.annotate "line", 562
- .const 'Sub' $P308 = "27_1272455249.42318"
+ .const 'Sub' $P308 = "27_1272816836.73052"
capture_lex $P308
.lex "backmod", $P308
.annotate "line", 569
- .const 'Sub' $P340 = "28_1272455249.42318"
+ .const 'Sub' $P340 = "28_1272816836.73052"
capture_lex $P340
.lex "subrule_alias", $P340
.annotate "line", 4
@@ -7329,7 +7329,7 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "INIT" :subid("12_1272455249.42318") :outer("11_1272455249.42318")
+.sub "INIT" :subid("12_1272816836.73052") :outer("11_1272816836.73052")
.annotate "line", 6
new $P18, 'ExceptionHandler'
set_addr $P18, control_17
@@ -7353,7 +7353,7 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "buildsub" :subid("13_1272455249.42318") :outer("11_1272455249.42318")
+.sub "buildsub" :subid("13_1272816836.73052") :outer("11_1272816836.73052")
.param pmc param_24
.param pmc param_25 :optional
.param int has_param_25 :opt_flag
@@ -7430,19 +7430,19 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "capnames" :subid("14_1272455249.42318") :outer("11_1272455249.42318")
+.sub "capnames" :subid("14_1272816836.73052") :outer("11_1272816836.73052")
.param pmc param_57
.param pmc param_58
.annotate "line", 496
- .const 'Sub' $P283 = "25_1272455249.42318"
+ .const 'Sub' $P283 = "25_1272816836.73052"
capture_lex $P283
- .const 'Sub' $P220 = "22_1272455249.42318"
+ .const 'Sub' $P220 = "22_1272816836.73052"
capture_lex $P220
- .const 'Sub' $P178 = "20_1272455249.42318"
+ .const 'Sub' $P178 = "20_1272816836.73052"
capture_lex $P178
- .const 'Sub' $P136 = "18_1272455249.42318"
+ .const 'Sub' $P136 = "18_1272816836.73052"
capture_lex $P136
- .const 'Sub' $P69 = "15_1272455249.42318"
+ .const 'Sub' $P69 = "15_1272816836.73052"
capture_lex $P69
new $P56, 'ExceptionHandler'
set_addr $P56, control_55
@@ -7498,21 +7498,21 @@
set $S280, $P279
iseq $I281, $S280, "quant"
unless $I281, if_278_end
- .const 'Sub' $P283 = "25_1272455249.42318"
+ .const 'Sub' $P283 = "25_1272816836.73052"
capture_lex $P283
$P283()
if_278_end:
goto if_215_end
if_215:
.annotate "line", 534
- .const 'Sub' $P220 = "22_1272455249.42318"
+ .const 'Sub' $P220 = "22_1272816836.73052"
capture_lex $P220
$P220()
if_215_end:
goto if_168_end
if_168:
.annotate "line", 521
- .const 'Sub' $P178 = "20_1272455249.42318"
+ .const 'Sub' $P178 = "20_1272816836.73052"
capture_lex $P178
$P178()
if_168_end:
@@ -7532,7 +7532,7 @@
unless $P130, loop165_done
shift $P134, $P130
loop165_redo:
- .const 'Sub' $P136 = "18_1272455249.42318"
+ .const 'Sub' $P136 = "18_1272816836.73052"
capture_lex $P136
$P136($P134)
loop165_next:
@@ -7551,7 +7551,7 @@
goto if_64_end
if_64:
.annotate "line", 499
- .const 'Sub' $P69 = "15_1272455249.42318"
+ .const 'Sub' $P69 = "15_1272816836.73052"
capture_lex $P69
$P69()
if_64_end:
@@ -7575,9 +7575,9 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block282" :anon :subid("25_1272455249.42318") :outer("14_1272455249.42318")
+.sub "_block282" :anon :subid("25_1272816836.73052") :outer("14_1272816836.73052")
.annotate "line", 551
- .const 'Sub' $P294 = "26_1272455249.42318"
+ .const 'Sub' $P294 = "26_1272816836.73052"
capture_lex $P294
.annotate "line", 552
$P284 = root_new ['parrot';'Hash']
@@ -7606,7 +7606,7 @@
unless $P289, loop299_done
shift $P292, $P289
loop299_redo:
- .const 'Sub' $P294 = "26_1272455249.42318"
+ .const 'Sub' $P294 = "26_1272816836.73052"
capture_lex $P294
$P294($P292)
loop299_next:
@@ -7636,7 +7636,7 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block293" :anon :subid("26_1272455249.42318") :outer("25_1272455249.42318")
+.sub "_block293" :anon :subid("26_1272816836.73052") :outer("25_1272816836.73052")
.param pmc param_295
.annotate "line", 553
.lex "$_", param_295
@@ -7656,11 +7656,11 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block219" :anon :subid("22_1272455249.42318") :outer("14_1272455249.42318")
+.sub "_block219" :anon :subid("22_1272816836.73052") :outer("14_1272816836.73052")
.annotate "line", 534
- .const 'Sub' $P260 = "24_1272455249.42318"
+ .const 'Sub' $P260 = "24_1272816836.73052"
capture_lex $P260
- .const 'Sub' $P232 = "23_1272455249.42318"
+ .const 'Sub' $P232 = "23_1272816836.73052"
capture_lex $P232
.annotate "line", 535
new $P221, "Undef"
@@ -7695,7 +7695,7 @@
unless $P227, loop248_done
shift $P230, $P227
loop248_redo:
- .const 'Sub' $P232 = "23_1272455249.42318"
+ .const 'Sub' $P232 = "23_1272816836.73052"
capture_lex $P232
$P232($P230)
loop248_next:
@@ -7734,7 +7734,7 @@
unless $P255, loop273_done
shift $P258, $P255
loop273_redo:
- .const 'Sub' $P260 = "24_1272455249.42318"
+ .const 'Sub' $P260 = "24_1272816836.73052"
capture_lex $P260
$P260($P258)
loop273_next:
@@ -7764,7 +7764,7 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block231" :anon :subid("23_1272455249.42318") :outer("22_1272455249.42318")
+.sub "_block231" :anon :subid("23_1272816836.73052") :outer("22_1272816836.73052")
.param pmc param_233
.annotate "line", 541
.lex "$_", param_233
@@ -7804,7 +7804,7 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block259" :anon :subid("24_1272455249.42318") :outer("22_1272455249.42318")
+.sub "_block259" :anon :subid("24_1272816836.73052") :outer("22_1272816836.73052")
.param pmc param_261
.annotate "line", 546
.lex "$_", param_261
@@ -7844,9 +7844,9 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block177" :anon :subid("20_1272455249.42318") :outer("14_1272455249.42318")
+.sub "_block177" :anon :subid("20_1272816836.73052") :outer("14_1272816836.73052")
.annotate "line", 521
- .const 'Sub' $P196 = "21_1272455249.42318"
+ .const 'Sub' $P196 = "21_1272816836.73052"
capture_lex $P196
.annotate "line", 522
new $P179, "Undef"
@@ -7889,7 +7889,7 @@
unless $P191, loop212_done
shift $P194, $P191
loop212_redo:
- .const 'Sub' $P196 = "21_1272455249.42318"
+ .const 'Sub' $P196 = "21_1272816836.73052"
capture_lex $P196
$P196($P194)
loop212_next:
@@ -7909,7 +7909,7 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block195" :anon :subid("21_1272455249.42318") :outer("20_1272455249.42318")
+.sub "_block195" :anon :subid("21_1272816836.73052") :outer("20_1272816836.73052")
.param pmc param_197
.annotate "line", 529
.lex "$_", param_197
@@ -7949,10 +7949,10 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block135" :anon :subid("18_1272455249.42318") :outer("14_1272455249.42318")
+.sub "_block135" :anon :subid("18_1272816836.73052") :outer("14_1272816836.73052")
.param pmc param_138
.annotate "line", 513
- .const 'Sub' $P147 = "19_1272455249.42318"
+ .const 'Sub' $P147 = "19_1272816836.73052"
capture_lex $P147
.annotate "line", 514
$P137 = root_new ['parrot';'Hash']
@@ -7975,7 +7975,7 @@
unless $P142, loop160_done
shift $P145, $P142
loop160_redo:
- .const 'Sub' $P147 = "19_1272455249.42318"
+ .const 'Sub' $P147 = "19_1272816836.73052"
capture_lex $P147
$P147($P145)
loop160_next:
@@ -8005,7 +8005,7 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block146" :anon :subid("19_1272455249.42318") :outer("18_1272455249.42318")
+.sub "_block146" :anon :subid("19_1272816836.73052") :outer("18_1272816836.73052")
.param pmc param_148
.annotate "line", 515
.lex "$_", param_148
@@ -8045,9 +8045,9 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block68" :anon :subid("15_1272455249.42318") :outer("14_1272455249.42318")
+.sub "_block68" :anon :subid("15_1272816836.73052") :outer("14_1272816836.73052")
.annotate "line", 499
- .const 'Sub' $P78 = "16_1272455249.42318"
+ .const 'Sub' $P78 = "16_1272816836.73052"
capture_lex $P78
.annotate "line", 500
new $P70, "Undef"
@@ -8068,7 +8068,7 @@
unless $P72, loop122_done
shift $P76, $P72
loop122_redo:
- .const 'Sub' $P78 = "16_1272455249.42318"
+ .const 'Sub' $P78 = "16_1272816836.73052"
capture_lex $P78
$P78($P76)
loop122_next:
@@ -8091,10 +8091,10 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block77" :anon :subid("16_1272455249.42318") :outer("15_1272455249.42318")
+.sub "_block77" :anon :subid("16_1272816836.73052") :outer("15_1272816836.73052")
.param pmc param_80
.annotate "line", 501
- .const 'Sub' $P89 = "17_1272455249.42318"
+ .const 'Sub' $P89 = "17_1272816836.73052"
capture_lex $P89
.annotate "line", 502
$P79 = root_new ['parrot';'Hash']
@@ -8117,7 +8117,7 @@
unless $P84, loop109_done
shift $P87, $P84
loop109_redo:
- .const 'Sub' $P89 = "17_1272455249.42318"
+ .const 'Sub' $P89 = "17_1272816836.73052"
capture_lex $P89
$P89($P87)
loop109_next:
@@ -8166,7 +8166,7 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block88" :anon :subid("17_1272455249.42318") :outer("16_1272455249.42318")
+.sub "_block88" :anon :subid("17_1272816836.73052") :outer("16_1272816836.73052")
.param pmc param_90
.annotate "line", 503
.lex "$_", param_90
@@ -8225,7 +8225,7 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "backmod" :subid("27_1272455249.42318") :outer("11_1272455249.42318")
+.sub "backmod" :subid("27_1272816836.73052") :outer("11_1272816836.73052")
.param pmc param_311
.param pmc param_312
.annotate "line", 562
@@ -8299,7 +8299,7 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "subrule_alias" :subid("28_1272455249.42318") :outer("11_1272455249.42318")
+.sub "subrule_alias" :subid("28_1272816836.73052") :outer("11_1272816836.73052")
.param pmc param_343
.param pmc param_344
.annotate "line", 569
@@ -8343,7 +8343,7 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "arg" :subid("29_1272455249.42318") :method :outer("11_1272455249.42318")
+.sub "arg" :subid("29_1272816836.73052") :method :outer("11_1272816836.73052")
.param pmc param_365
.annotate "line", 14
new $P364, 'ExceptionHandler'
@@ -8399,10 +8399,10 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "arglist" :subid("30_1272455249.42318") :method :outer("11_1272455249.42318")
+.sub "arglist" :subid("30_1272816836.73052") :method :outer("11_1272816836.73052")
.param pmc param_382
.annotate "line", 18
- .const 'Sub' $P392 = "31_1272455249.42318"
+ .const 'Sub' $P392 = "31_1272816836.73052"
capture_lex $P392
new $P381, 'ExceptionHandler'
set_addr $P381, control_380
@@ -8436,7 +8436,7 @@
unless $P386, loop398_done
shift $P390, $P386
loop398_redo:
- .const 'Sub' $P392 = "31_1272455249.42318"
+ .const 'Sub' $P392 = "31_1272816836.73052"
capture_lex $P392
$P392($P390)
loop398_next:
@@ -8465,7 +8465,7 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block391" :anon :subid("31_1272455249.42318") :outer("30_1272455249.42318")
+.sub "_block391" :anon :subid("31_1272816836.73052") :outer("30_1272816836.73052")
.param pmc param_393
.annotate "line", 20
.lex "$_", param_393
@@ -8478,7 +8478,7 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "TOP" :subid("32_1272455249.42318") :method :outer("11_1272455249.42318")
+.sub "TOP" :subid("32_1272816836.73052") :method :outer("11_1272816836.73052")
.param pmc param_408
.annotate "line", 24
new $P407, 'ExceptionHandler'
@@ -8520,14 +8520,14 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "nibbler" :subid("33_1272455249.42318") :method :outer("11_1272455249.42318")
+.sub "nibbler" :subid("33_1272816836.73052") :method :outer("11_1272816836.73052")
.param pmc param_423
.param pmc param_424 :optional
.param int has_param_424 :opt_flag
.annotate "line", 30
- .const 'Sub' $P458 = "35_1272455249.42318"
+ .const 'Sub' $P458 = "35_1272816836.73052"
capture_lex $P458
- .const 'Sub' $P432 = "34_1272455249.42318"
+ .const 'Sub' $P432 = "34_1272816836.73052"
capture_lex $P432
new $P422, 'ExceptionHandler'
set_addr $P422, control_421
@@ -8548,7 +8548,7 @@
set $S429, $P428
iseq $I430, $S429, "open"
unless $I430, if_427_end
- .const 'Sub' $P432 = "34_1272455249.42318"
+ .const 'Sub' $P432 = "34_1272816836.73052"
capture_lex $P432
$P432()
if_427_end:
@@ -8611,7 +8611,7 @@
unless $P452, loop464_done
shift $P456, $P452
loop464_redo:
- .const 'Sub' $P458 = "35_1272455249.42318"
+ .const 'Sub' $P458 = "35_1272816836.73052"
capture_lex $P458
$P458($P456)
loop464_next:
@@ -8641,7 +8641,7 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block431" :anon :subid("34_1272455249.42318") :outer("33_1272455249.42318")
+.sub "_block431" :anon :subid("34_1272816836.73052") :outer("33_1272816836.73052")
.annotate "line", 32
$P433 = root_new ['parrot';'Hash']
.lex "%old", $P433
@@ -8681,7 +8681,7 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block457" :anon :subid("35_1272455249.42318") :outer("33_1272455249.42318")
+.sub "_block457" :anon :subid("35_1272816836.73052") :outer("33_1272816836.73052")
.param pmc param_459
.annotate "line", 45
.lex "$_", param_459
@@ -8696,10 +8696,10 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "termish" :subid("36_1272455249.42318") :method :outer("11_1272455249.42318")
+.sub "termish" :subid("36_1272816836.73052") :method :outer("11_1272816836.73052")
.param pmc param_478
.annotate "line", 55
- .const 'Sub' $P491 = "37_1272455249.42318"
+ .const 'Sub' $P491 = "37_1272816836.73052"
capture_lex $P491
new $P477, 'ExceptionHandler'
set_addr $P477, control_476
@@ -8742,7 +8742,7 @@
unless $P485, loop536_done
shift $P489, $P485
loop536_redo:
- .const 'Sub' $P491 = "37_1272455249.42318"
+ .const 'Sub' $P491 = "37_1272816836.73052"
capture_lex $P491
$P491($P489)
loop536_next:
@@ -8771,7 +8771,7 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block490" :anon :subid("37_1272455249.42318") :outer("36_1272455249.42318")
+.sub "_block490" :anon :subid("37_1272816836.73052") :outer("36_1272816836.73052")
.param pmc param_493
.annotate "line", 59
new $P492, "Undef"
@@ -8898,10 +8898,10 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "quantified_atom" :subid("38_1272455249.42318") :method :outer("11_1272455249.42318")
+.sub "quantified_atom" :subid("38_1272816836.73052") :method :outer("11_1272816836.73052")
.param pmc param_546
.annotate "line", 76
- .const 'Sub' $P555 = "39_1272455249.42318"
+ .const 'Sub' $P555 = "39_1272816836.73052"
capture_lex $P555
new $P545, 'ExceptionHandler'
set_addr $P545, control_544
@@ -8964,7 +8964,7 @@
goto if_551_end
if_551:
.annotate "line", 78
- .const 'Sub' $P555 = "39_1272455249.42318"
+ .const 'Sub' $P555 = "39_1272816836.73052"
capture_lex $P555
$P555()
if_551_end:
@@ -9018,7 +9018,7 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block554" :anon :subid("39_1272455249.42318") :outer("38_1272455249.42318")
+.sub "_block554" :anon :subid("39_1272816836.73052") :outer("38_1272816836.73052")
.annotate "line", 80
new $P556, "Undef"
.lex "$qast", $P556
@@ -9057,7 +9057,7 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "atom" :subid("40_1272455249.42318") :method :outer("11_1272455249.42318")
+.sub "atom" :subid("40_1272816836.73052") :method :outer("11_1272816836.73052")
.param pmc param_596
.annotate "line", 91
new $P595, 'ExceptionHandler'
@@ -9135,7 +9135,7 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "quantifier:sym<*>" :subid("41_1272455249.42318") :method :outer("11_1272455249.42318")
+.sub "quantifier:sym<*>" :subid("41_1272816836.73052") :method :outer("11_1272816836.73052")
.param pmc param_622
.annotate "line", 101
new $P621, 'ExceptionHandler'
@@ -9175,7 +9175,7 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "quantifier:sym<+>" :subid("42_1272455249.42318") :method :outer("11_1272455249.42318")
+.sub "quantifier:sym<+>" :subid("42_1272816836.73052") :method :outer("11_1272816836.73052")
.param pmc param_637
.annotate "line", 106
new $P636, 'ExceptionHandler'
@@ -9215,7 +9215,7 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "quantifier:sym<?>" :subid("43_1272455249.42318") :method :outer("11_1272455249.42318")
+.sub "quantifier:sym<?>" :subid("43_1272816836.73052") :method :outer("11_1272816836.73052")
.param pmc param_652
.annotate "line", 111
new $P651, 'ExceptionHandler'
@@ -9259,7 +9259,7 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "quantifier:sym<**>" :subid("44_1272455249.42318") :method :outer("11_1272455249.42318")
+.sub "quantifier:sym<**>" :subid("44_1272816836.73052") :method :outer("11_1272816836.73052")
.param pmc param_669
.annotate "line", 117
new $P668, 'ExceptionHandler'
@@ -9399,7 +9399,7 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<ws>" :subid("45_1272455249.42318") :method :outer("11_1272455249.42318")
+.sub "metachar:sym<ws>" :subid("45_1272816836.73052") :method :outer("11_1272816836.73052")
.param pmc param_716
.annotate "line", 131
new $P715, 'ExceptionHandler'
@@ -9451,7 +9451,7 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<[ ]>" :subid("46_1272455249.42318") :method :outer("11_1272455249.42318")
+.sub "metachar:sym<[ ]>" :subid("46_1272816836.73052") :method :outer("11_1272816836.73052")
.param pmc param_734
.annotate "line", 140
new $P733, 'ExceptionHandler'
@@ -9483,7 +9483,7 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<( )>" :subid("47_1272455249.42318") :method :outer("11_1272455249.42318")
+.sub "metachar:sym<( )>" :subid("47_1272816836.73052") :method :outer("11_1272816836.73052")
.param pmc param_744
.annotate "line", 144
new $P743, 'ExceptionHandler'
@@ -9531,7 +9531,7 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<'>" :subid("48_1272455249.42318") :method :outer("11_1272455249.42318")
+.sub "metachar:sym<'>" :subid("48_1272816836.73052") :method :outer("11_1272816836.73052")
.param pmc param_762
.annotate "line", 151
new $P761, 'ExceptionHandler'
@@ -9587,7 +9587,7 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<\">" :subid("49_1272455249.42318") :method :outer("11_1272455249.42318")
+.sub "metachar:sym<\">" :subid("49_1272816836.73052") :method :outer("11_1272816836.73052")
.param pmc param_785
.annotate "line", 158
new $P784, 'ExceptionHandler'
@@ -9643,7 +9643,7 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<.>" :subid("50_1272455249.42318") :method :outer("11_1272455249.42318")
+.sub "metachar:sym<.>" :subid("50_1272816836.73052") :method :outer("11_1272816836.73052")
.param pmc param_808
.annotate "line", 165
new $P807, 'ExceptionHandler'
@@ -9674,7 +9674,7 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<^>" :subid("51_1272455249.42318") :method :outer("11_1272455249.42318")
+.sub "metachar:sym<^>" :subid("51_1272816836.73052") :method :outer("11_1272816836.73052")
.param pmc param_820
.annotate "line", 170
new $P819, 'ExceptionHandler'
@@ -9705,7 +9705,7 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<^^>" :subid("52_1272455249.42318") :method :outer("11_1272455249.42318")
+.sub "metachar:sym<^^>" :subid("52_1272816836.73052") :method :outer("11_1272816836.73052")
.param pmc param_832
.annotate "line", 175
new $P831, 'ExceptionHandler'
@@ -9736,7 +9736,7 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<$>" :subid("53_1272455249.42318") :method :outer("11_1272455249.42318")
+.sub "metachar:sym<$>" :subid("53_1272816836.73052") :method :outer("11_1272816836.73052")
.param pmc param_844
.annotate "line", 180
new $P843, 'ExceptionHandler'
@@ -9767,7 +9767,7 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<$$>" :subid("54_1272455249.42318") :method :outer("11_1272455249.42318")
+.sub "metachar:sym<$$>" :subid("54_1272816836.73052") :method :outer("11_1272816836.73052")
.param pmc param_856
.annotate "line", 185
new $P855, 'ExceptionHandler'
@@ -9798,7 +9798,7 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<:::>" :subid("55_1272455249.42318") :method :outer("11_1272455249.42318")
+.sub "metachar:sym<:::>" :subid("55_1272816836.73052") :method :outer("11_1272816836.73052")
.param pmc param_868
.annotate "line", 190
new $P867, 'ExceptionHandler'
@@ -9829,7 +9829,7 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<lwb>" :subid("56_1272455249.42318") :method :outer("11_1272455249.42318")
+.sub "metachar:sym<lwb>" :subid("56_1272816836.73052") :method :outer("11_1272816836.73052")
.param pmc param_880
.annotate "line", 195
new $P879, 'ExceptionHandler'
@@ -9860,7 +9860,7 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<rwb>" :subid("57_1272455249.42318") :method :outer("11_1272455249.42318")
+.sub "metachar:sym<rwb>" :subid("57_1272816836.73052") :method :outer("11_1272816836.73052")
.param pmc param_892
.annotate "line", 200
new $P891, 'ExceptionHandler'
@@ -9891,7 +9891,7 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<bs>" :subid("58_1272455249.42318") :method :outer("11_1272455249.42318")
+.sub "metachar:sym<bs>" :subid("58_1272816836.73052") :method :outer("11_1272816836.73052")
.param pmc param_904
.annotate "line", 205
new $P903, 'ExceptionHandler'
@@ -9923,7 +9923,7 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<mod>" :subid("59_1272455249.42318") :method :outer("11_1272455249.42318")
+.sub "metachar:sym<mod>" :subid("59_1272816836.73052") :method :outer("11_1272816836.73052")
.param pmc param_914
.annotate "line", 209
new $P913, 'ExceptionHandler'
@@ -9955,7 +9955,7 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<assert>" :subid("60_1272455249.42318") :method :outer("11_1272455249.42318")
+.sub "metachar:sym<assert>" :subid("60_1272816836.73052") :method :outer("11_1272816836.73052")
.param pmc param_924
.annotate "line", 213
new $P923, 'ExceptionHandler'
@@ -9987,7 +9987,7 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<~>" :subid("61_1272455249.42318") :method :outer("11_1272455249.42318")
+.sub "metachar:sym<~>" :subid("61_1272816836.73052") :method :outer("11_1272816836.73052")
.param pmc param_934
.annotate "line", 217
new $P933, 'ExceptionHandler'
@@ -10049,7 +10049,7 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<{*}>" :subid("62_1272455249.42318") :method :outer("11_1272455249.42318")
+.sub "metachar:sym<{*}>" :subid("62_1272816836.73052") :method :outer("11_1272816836.73052")
.param pmc param_956
.annotate "line", 230
new $P955, 'ExceptionHandler'
@@ -10110,7 +10110,7 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<var>" :subid("63_1272455249.42318") :method :outer("11_1272455249.42318")
+.sub "metachar:sym<var>" :subid("63_1272816836.73052") :method :outer("11_1272816836.73052")
.param pmc param_977
.annotate "line", 237
new $P976, 'ExceptionHandler'
@@ -10270,7 +10270,7 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "metachar:sym<PIR>" :subid("64_1272455249.42318") :method :outer("11_1272455249.42318")
+.sub "metachar:sym<PIR>" :subid("64_1272816836.73052") :method :outer("11_1272816836.73052")
.param pmc param_1033
.annotate "line", 257
new $P1032, 'ExceptionHandler'
@@ -10309,7 +10309,7 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "backslash:sym<w>" :subid("65_1272455249.42318") :method :outer("11_1272455249.42318")
+.sub "backslash:sym<w>" :subid("65_1272816836.73052") :method :outer("11_1272816836.73052")
.param pmc param_1048
.annotate "line", 265
new $P1047, 'ExceptionHandler'
@@ -10375,7 +10375,7 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "backslash:sym<b>" :subid("66_1272455249.42318") :method :outer("11_1272455249.42318")
+.sub "backslash:sym<b>" :subid("66_1272816836.73052") :method :outer("11_1272816836.73052")
.param pmc param_1072
.annotate "line", 271
new $P1071, 'ExceptionHandler'
@@ -10418,7 +10418,7 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "backslash:sym<e>" :subid("67_1272455249.42318") :method :outer("11_1272455249.42318")
+.sub "backslash:sym<e>" :subid("67_1272816836.73052") :method :outer("11_1272816836.73052")
.param pmc param_1088
.annotate "line", 277
new $P1087, 'ExceptionHandler'
@@ -10461,7 +10461,7 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "backslash:sym<f>" :subid("68_1272455249.42318") :method :outer("11_1272455249.42318")
+.sub "backslash:sym<f>" :subid("68_1272816836.73052") :method :outer("11_1272816836.73052")
.param pmc param_1104
.annotate "line", 283
new $P1103, 'ExceptionHandler'
@@ -10504,7 +10504,7 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "backslash:sym<h>" :subid("69_1272455249.42318") :method :outer("11_1272455249.42318")
+.sub "backslash:sym<h>" :subid("69_1272816836.73052") :method :outer("11_1272816836.73052")
.param pmc param_1120
.annotate "line", 289
new $P1119, 'ExceptionHandler'
@@ -10547,7 +10547,7 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "backslash:sym<r>" :subid("70_1272455249.42318") :method :outer("11_1272455249.42318")
+.sub "backslash:sym<r>" :subid("70_1272816836.73052") :method :outer("11_1272816836.73052")
.param pmc param_1136
.annotate "line", 295
new $P1135, 'ExceptionHandler'
@@ -10590,7 +10590,7 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "backslash:sym<t>" :subid("71_1272455249.42318") :method :outer("11_1272455249.42318")
+.sub "backslash:sym<t>" :subid("71_1272816836.73052") :method :outer("11_1272816836.73052")
.param pmc param_1152
.annotate "line", 301
new $P1151, 'ExceptionHandler'
@@ -10633,7 +10633,7 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "backslash:sym<v>" :subid("72_1272455249.42318") :method :outer("11_1272455249.42318")
+.sub "backslash:sym<v>" :subid("72_1272816836.73052") :method :outer("11_1272816836.73052")
.param pmc param_1168
.annotate "line", 307
new $P1167, 'ExceptionHandler'
@@ -10676,7 +10676,7 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "backslash:sym<o>" :subid("73_1272455249.42318") :method :outer("11_1272455249.42318")
+.sub "backslash:sym<o>" :subid("73_1272816836.73052") :method :outer("11_1272816836.73052")
.param pmc param_1184
.annotate "line", 314
new $P1183, 'ExceptionHandler'
@@ -10759,7 +10759,7 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "backslash:sym<x>" :subid("74_1272455249.42318") :method :outer("11_1272455249.42318")
+.sub "backslash:sym<x>" :subid("74_1272816836.73052") :method :outer("11_1272816836.73052")
.param pmc param_1215
.annotate "line", 323
new $P1214, 'ExceptionHandler'
@@ -10842,7 +10842,7 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "backslash:sym<c>" :subid("75_1272455249.42318") :method :outer("11_1272455249.42318")
+.sub "backslash:sym<c>" :subid("75_1272816836.73052") :method :outer("11_1272816836.73052")
.param pmc param_1246
.annotate "line", 332
new $P1245, 'ExceptionHandler'
@@ -10877,7 +10877,7 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "backslash:sym<misc>" :subid("76_1272455249.42318") :method :outer("11_1272455249.42318")
+.sub "backslash:sym<misc>" :subid("76_1272816836.73052") :method :outer("11_1272816836.73052")
.param pmc param_1259
.annotate "line", 336
new $P1258, 'ExceptionHandler'
@@ -10910,7 +10910,7 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "assertion:sym<?>" :subid("77_1272455249.42318") :method :outer("11_1272455249.42318")
+.sub "assertion:sym<?>" :subid("77_1272816836.73052") :method :outer("11_1272816836.73052")
.param pmc param_1273
.annotate "line", 342
new $P1272, 'ExceptionHandler'
@@ -10970,7 +10970,7 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "assertion:sym<!>" :subid("78_1272455249.42318") :method :outer("11_1272455249.42318")
+.sub "assertion:sym<!>" :subid("78_1272816836.73052") :method :outer("11_1272816836.73052")
.param pmc param_1291
.annotate "line", 352
new $P1290, 'ExceptionHandler'
@@ -11038,7 +11038,7 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "assertion:sym<method>" :subid("79_1272455249.42318") :method :outer("11_1272455249.42318")
+.sub "assertion:sym<method>" :subid("79_1272816836.73052") :method :outer("11_1272816836.73052")
.param pmc param_1315
.annotate "line", 365
new $P1314, 'ExceptionHandler'
@@ -11081,12 +11081,12 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "assertion:sym<name>" :subid("80_1272455249.42318") :method :outer("11_1272455249.42318")
+.sub "assertion:sym<name>" :subid("80_1272816836.73052") :method :outer("11_1272816836.73052")
.param pmc param_1329
.annotate "line", 372
- .const 'Sub' $P1387 = "82_1272455249.42318"
+ .const 'Sub' $P1387 = "82_1272816836.73052"
capture_lex $P1387
- .const 'Sub' $P1351 = "81_1272455249.42318"
+ .const 'Sub' $P1351 = "81_1272816836.73052"
capture_lex $P1351
new $P1328, 'ExceptionHandler'
set_addr $P1328, control_1327
@@ -11182,7 +11182,7 @@
unless $P1378, loop1392_done
shift $P1385, $P1378
loop1392_redo:
- .const 'Sub' $P1387 = "82_1272455249.42318"
+ .const 'Sub' $P1387 = "82_1272816836.73052"
capture_lex $P1387
$P1387($P1385)
loop1392_next:
@@ -11222,7 +11222,7 @@
goto if_1346_end
if_1346:
.annotate "line", 379
- .const 'Sub' $P1351 = "81_1272455249.42318"
+ .const 'Sub' $P1351 = "81_1272816836.73052"
capture_lex $P1351
$P1351()
if_1346_end:
@@ -11263,7 +11263,7 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block1386" :anon :subid("82_1272455249.42318") :outer("80_1272455249.42318")
+.sub "_block1386" :anon :subid("82_1272816836.73052") :outer("80_1272816836.73052")
.param pmc param_1388
.annotate "line", 401
.lex "$_", param_1388
@@ -11275,7 +11275,7 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block1350" :anon :subid("81_1272455249.42318") :outer("80_1272455249.42318")
+.sub "_block1350" :anon :subid("81_1272816836.73052") :outer("80_1272816836.73052")
.annotate "line", 380
new $P1352, "Undef"
.lex "$regexsym", $P1352
@@ -11306,10 +11306,10 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "assertion:sym<[>" :subid("83_1272455249.42318") :method :outer("11_1272455249.42318")
+.sub "assertion:sym<[>" :subid("83_1272816836.73052") :method :outer("11_1272816836.73052")
.param pmc param_1402
.annotate "line", 407
- .const 'Sub' $P1437 = "84_1272455249.42318"
+ .const 'Sub' $P1437 = "84_1272816836.73052"
capture_lex $P1437
new $P1401, 'ExceptionHandler'
set_addr $P1401, control_1400
@@ -11401,7 +11401,7 @@
islt $I1435, $N1432, $N1434
unless $I1435, loop1460_done
loop1460_redo:
- .const 'Sub' $P1437 = "84_1272455249.42318"
+ .const 'Sub' $P1437 = "84_1272816836.73052"
capture_lex $P1437
$P1437()
loop1460_next:
@@ -11429,7 +11429,7 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block1436" :anon :subid("84_1272455249.42318") :outer("83_1272455249.42318")
+.sub "_block1436" :anon :subid("84_1272816836.73052") :outer("83_1272816836.73052")
.annotate "line", 421
new $P1438, "Undef"
.lex "$ast", $P1438
@@ -11480,12 +11480,12 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "cclass_elem" :subid("85_1272455249.42318") :method :outer("11_1272455249.42318")
+.sub "cclass_elem" :subid("85_1272816836.73052") :method :outer("11_1272816836.73052")
.param pmc param_1470
.annotate "line", 434
- .const 'Sub' $P1495 = "87_1272455249.42318"
+ .const 'Sub' $P1495 = "87_1272816836.73052"
capture_lex $P1495
- .const 'Sub' $P1479 = "86_1272455249.42318"
+ .const 'Sub' $P1479 = "86_1272816836.73052"
capture_lex $P1479
new $P1469, 'ExceptionHandler'
set_addr $P1469, control_1468
@@ -11534,7 +11534,7 @@
unless $P1489, loop1520_done
shift $P1493, $P1489
loop1520_redo:
- .const 'Sub' $P1495 = "87_1272455249.42318"
+ .const 'Sub' $P1495 = "87_1272816836.73052"
capture_lex $P1495
$P1495($P1493)
loop1520_next:
@@ -11558,7 +11558,7 @@
goto if_1475_end
if_1475:
.annotate "line", 437
- .const 'Sub' $P1479 = "86_1272455249.42318"
+ .const 'Sub' $P1479 = "86_1272816836.73052"
capture_lex $P1479
$P1479()
if_1475_end:
@@ -11590,10 +11590,10 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block1494" :anon :subid("87_1272455249.42318") :outer("85_1272455249.42318")
+.sub "_block1494" :anon :subid("87_1272816836.73052") :outer("85_1272816836.73052")
.param pmc param_1496
.annotate "line", 441
- .const 'Sub' $P1502 = "88_1272455249.42318"
+ .const 'Sub' $P1502 = "88_1272816836.73052"
capture_lex $P1502
.lex "$_", param_1496
.annotate "line", 442
@@ -11622,7 +11622,7 @@
.annotate "line", 442
goto if_1498_end
if_1498:
- .const 'Sub' $P1502 = "88_1272455249.42318"
+ .const 'Sub' $P1502 = "88_1272816836.73052"
capture_lex $P1502
$P1515 = $P1502()
set $P1497, $P1515
@@ -11633,7 +11633,7 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block1501" :anon :subid("88_1272455249.42318") :outer("87_1272455249.42318")
+.sub "_block1501" :anon :subid("88_1272816836.73052") :outer("87_1272816836.73052")
.annotate "line", 443
new $P1503, "Undef"
.lex "$a", $P1503
@@ -11697,7 +11697,7 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "_block1478" :anon :subid("86_1272455249.42318") :outer("85_1272455249.42318")
+.sub "_block1478" :anon :subid("86_1272816836.73052") :outer("85_1272816836.73052")
.annotate "line", 438
new $P1480, "Undef"
.lex "$name", $P1480
@@ -11725,7 +11725,7 @@
.namespace ["Regex";"P6Regex";"Actions"]
-.sub "mod_internal" :subid("89_1272455249.42318") :method :outer("11_1272455249.42318")
+.sub "mod_internal" :subid("89_1272816836.73052") :method :outer("11_1272816836.73052")
.param pmc param_1539
.annotate "line", 472
new $P1538, 'ExceptionHandler'
Modified: branches/codestring/ext/nqp-rx/src/stage0/Regex-s0.pir
==============================================================================
--- branches/codestring/ext/nqp-rx/src/stage0/Regex-s0.pir Mon May 3 13:16:49 2010 (r46234)
+++ branches/codestring/ext/nqp-rx/src/stage0/Regex-s0.pir Mon May 3 14:39:34 2010 (r46235)
@@ -58,6 +58,34 @@
=over 4
+=item new_match()
+
+A method that creates an empty Match object, by default of type
+C<Regex::Match>. This method can be overridden for generating HLL-specific
+Match objects.
+
+=cut
+
+.sub 'new_match' :method
+ .local pmc match
+ match = new ['Regex';'Match']
+ .return (match)
+.end
+
+=item new_array()
+
+A method that creates an empty array object, by default of type
+C<ResizablePMCArray>. This method can be overridden for generating HLL-specific
+arrays for usage within Match objects.
+
+=cut
+
+.sub 'new_array' :method
+ .local pmc arr
+ arr = new ['ResizablePMCArray']
+ .return (arr)
+.end
+
=item MATCH()
Return this cursor's current Match object, generating a new one
@@ -75,7 +103,7 @@
# First, create a Match object and bind it
match_make:
- match = new ['Regex';'Match']
+ match = self.'new_match'()
setattribute self, '$!match', match
setattribute match, '$!cursor', self
.local pmc target, from, to
@@ -98,7 +126,7 @@
.local pmc arr
.local int keyint
subname = shift caparray_it
- arr = new ['ResizablePMCArray']
+ arr = self.'new_array'()
caphash[subname] = arr
keyint = is_cclass .CCLASS_NUMERIC, subname, 0
if keyint goto caparray_int
@@ -1893,7 +1921,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: branches/codestring/include/parrot/interpreter.h
==============================================================================
--- branches/codestring/include/parrot/interpreter.h Mon May 3 13:16:49 2010 (r46234)
+++ branches/codestring/include/parrot/interpreter.h Mon May 3 14:39:34 2010 (r46235)
@@ -26,11 +26,6 @@
PARROT_THR_COPY_INTERP = 0x2000, /* thread start copies interp state */
PARROT_THR_THREAD_POOL = 0x4000, /* type3 threads */
- PARROT_THR_TYPE_1 = PARROT_IS_THREAD,
- PARROT_THR_TYPE_2 = PARROT_IS_THREAD | PARROT_THR_COPY_INTERP,
- PARROT_THR_TYPE_3 = PARROT_IS_THREAD | PARROT_THR_COPY_INTERP |
- PARROT_THR_THREAD_POOL
-
} Parrot_Interp_flag;
/* &end_gen */
@@ -470,7 +465,7 @@
PARROT_EXPORT
PARROT_WARN_UNUSED_RESULT
-PARROT_CAN_RETURN_NULL
+PARROT_CANNOT_RETURN_NULL
PMC* interpinfo_p(PARROT_INTERP, INTVAL what)
__attribute__nonnull__(1);
Modified: branches/codestring/include/parrot/packfile.h
==============================================================================
--- branches/codestring/include/parrot/packfile.h Mon May 3 13:16:49 2010 (r46234)
+++ branches/codestring/include/parrot/packfile.h Mon May 3 14:39:34 2010 (r46235)
@@ -501,9 +501,11 @@
PARROT_EXPORT
PARROT_WARN_UNUSED_RESULT
size_t PackFile_Constant_pack_size(PARROT_INTERP,
- ARGIN(const PackFile_Constant *self))
+ ARGIN(const PackFile_Constant *self),
+ ARGIN(const PackFile_ConstTable *ct))
__attribute__nonnull__(1)
- __attribute__nonnull__(2);
+ __attribute__nonnull__(2)
+ __attribute__nonnull__(3);
PARROT_EXPORT
PARROT_WARN_UNUSED_RESULT
@@ -856,7 +858,8 @@
PARROT_ASSERT_ARG(interp))
#define ASSERT_ARGS_PackFile_Constant_pack_size __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(interp) \
- , PARROT_ASSERT_ARG(self))
+ , PARROT_ASSERT_ARG(self) \
+ , PARROT_ASSERT_ARG(ct))
#define ASSERT_ARGS_PackFile_Constant_unpack __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(interp) \
, PARROT_ASSERT_ARG(constt) \
Modified: branches/codestring/include/parrot/pmc_freeze.h
==============================================================================
--- branches/codestring/include/parrot/pmc_freeze.h Mon May 3 13:16:49 2010 (r46234)
+++ branches/codestring/include/parrot/pmc_freeze.h Mon May 3 14:39:34 2010 (r46235)
@@ -13,6 +13,8 @@
#ifndef PARROT_PMC_FREEZE_H_GUARD
#define PARROT_PMC_FREEZE_H_GUARD
+#include "parrot/packfile.h"
+
typedef enum {
VISIT_HOW_PMC_TO_VISITOR = 0x00, /* push to visitor */
VISIT_HOW_VISITOR_TO_PMC = 0x01, /* shift from visitor */
@@ -120,6 +122,24 @@
PARROT_EXPORT
PARROT_WARN_UNUSED_RESULT
+STRING * Parrot_freeze_pbc(PARROT_INTERP,
+ ARGIN(PMC *pmc),
+ ARGIN(const PackFile_ConstTable *pf))
+ __attribute__nonnull__(1)
+ __attribute__nonnull__(2)
+ __attribute__nonnull__(3);
+
+PARROT_EXPORT
+PARROT_WARN_UNUSED_RESULT
+UINTVAL Parrot_freeze_pbc_size(PARROT_INTERP,
+ ARGIN(PMC *pmc),
+ ARGIN(const PackFile_ConstTable *pf))
+ __attribute__nonnull__(1)
+ __attribute__nonnull__(2)
+ __attribute__nonnull__(3);
+
+PARROT_EXPORT
+PARROT_WARN_UNUSED_RESULT
UINTVAL Parrot_freeze_size(PARROT_INTERP, ARGIN(PMC *pmc))
__attribute__nonnull__(1)
__attribute__nonnull__(2);
@@ -127,6 +147,12 @@
PARROT_EXPORT
PARROT_WARN_UNUSED_RESULT
PARROT_CANNOT_RETURN_NULL
+PMC * Parrot_freeze_strings(PARROT_INTERP, PMC *pmc)
+ __attribute__nonnull__(1);
+
+PARROT_EXPORT
+PARROT_WARN_UNUSED_RESULT
+PARROT_CANNOT_RETURN_NULL
PMC* Parrot_thaw(PARROT_INTERP, ARGIN(STRING *image))
__attribute__nonnull__(1)
__attribute__nonnull__(2);
@@ -138,6 +164,16 @@
__attribute__nonnull__(1)
__attribute__nonnull__(2);
+PARROT_EXPORT
+PARROT_WARN_UNUSED_RESULT
+PARROT_CAN_RETURN_NULL
+PMC* Parrot_thaw_pbc(PARROT_INTERP,
+ ARGIN(STRING *image),
+ ARGIN(PackFile_ConstTable *pf))
+ __attribute__nonnull__(1)
+ __attribute__nonnull__(2)
+ __attribute__nonnull__(3);
+
void Parrot_visit_loop_thawfinish(PARROT_INTERP, ARGIN(PMC *info))
__attribute__nonnull__(1)
__attribute__nonnull__(2);
@@ -152,15 +188,29 @@
#define ASSERT_ARGS_Parrot_freeze __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(interp) \
, PARROT_ASSERT_ARG(pmc))
+#define ASSERT_ARGS_Parrot_freeze_pbc __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
+ PARROT_ASSERT_ARG(interp) \
+ , PARROT_ASSERT_ARG(pmc) \
+ , PARROT_ASSERT_ARG(pf))
+#define ASSERT_ARGS_Parrot_freeze_pbc_size __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
+ PARROT_ASSERT_ARG(interp) \
+ , PARROT_ASSERT_ARG(pmc) \
+ , PARROT_ASSERT_ARG(pf))
#define ASSERT_ARGS_Parrot_freeze_size __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(interp) \
, PARROT_ASSERT_ARG(pmc))
+#define ASSERT_ARGS_Parrot_freeze_strings __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
+ PARROT_ASSERT_ARG(interp))
#define ASSERT_ARGS_Parrot_thaw __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(interp) \
, PARROT_ASSERT_ARG(image))
#define ASSERT_ARGS_Parrot_thaw_constants __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(interp) \
, PARROT_ASSERT_ARG(image))
+#define ASSERT_ARGS_Parrot_thaw_pbc __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
+ PARROT_ASSERT_ARG(interp) \
+ , PARROT_ASSERT_ARG(image) \
+ , PARROT_ASSERT_ARG(pf))
#define ASSERT_ARGS_Parrot_visit_loop_thawfinish __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(interp) \
, PARROT_ASSERT_ARG(info))
Modified: branches/codestring/include/parrot/thr_windows.h
==============================================================================
--- branches/codestring/include/parrot/thr_windows.h Mon May 3 13:16:49 2010 (r46234)
+++ branches/codestring/include/parrot/thr_windows.h Mon May 3 14:39:34 2010 (r46235)
@@ -119,13 +119,13 @@
typedef void (*Cleanup_Handler)(void *);
-#ifndef HAVE_STRUCT_TIMESPEC
-# define HAVE_STRUCT_TIMESPEC
+#ifndef _TIMESPEC_DEFINED
+# define _TIMESPEC_DEFINED
struct timespec {
time_t tv_sec;
long tv_nsec;
};
-#endif /* HAVE_STRUCT_TIMESPEC */
+#endif /* _TIMESPEC_DEFINED */
#endif /* PARROT_THR_WINDOWS_H_GUARD */
Modified: branches/codestring/include/parrot/thread.h
==============================================================================
--- branches/codestring/include/parrot/thread.h Mon May 3 13:16:49 2010 (r46234)
+++ branches/codestring/include/parrot/thread.h Mon May 3 14:39:34 2010 (r46235)
@@ -194,6 +194,17 @@
void pt_suspend_self_for_gc(PARROT_INTERP)
__attribute__nonnull__(1);
+PMC * pt_thread_create(PARROT_INTERP, INTVAL type, INTVAL clone_flags)
+ __attribute__nonnull__(1);
+
+int pt_thread_create_run(PARROT_INTERP,
+ INTVAL type,
+ INTVAL clone_flags,
+ ARGIN(PMC *sub),
+ ARGIN_NULLOK(PMC *arg))
+ __attribute__nonnull__(1)
+ __attribute__nonnull__(4);
+
void pt_thread_detach(UINTVAL tid);
PARROT_CAN_RETURN_NULL
PMC* pt_thread_join(ARGIN(Parrot_Interp parent), UINTVAL tid)
@@ -202,43 +213,11 @@
void pt_thread_kill(UINTVAL tid);
void pt_thread_prepare_for_run(Parrot_Interp d, NULLOK(Parrot_Interp s));
int pt_thread_run(PARROT_INTERP,
- ARGOUT(PMC *dest_interp),
+ PMC *thread_interp_pmc,
ARGIN(PMC *sub),
ARGIN_NULLOK(PMC *arg))
__attribute__nonnull__(1)
- __attribute__nonnull__(2)
- __attribute__nonnull__(3)
- FUNC_MODIFIES(*dest_interp);
-
-int pt_thread_run_1(PARROT_INTERP,
- ARGOUT(PMC* dest_interp),
- ARGIN(PMC* sub),
- ARGIN(PMC *arg))
- __attribute__nonnull__(1)
- __attribute__nonnull__(2)
- __attribute__nonnull__(3)
- __attribute__nonnull__(4)
- FUNC_MODIFIES(* dest_interp);
-
-int pt_thread_run_2(PARROT_INTERP,
- ARGOUT(PMC* dest_interp),
- ARGIN(PMC* sub),
- ARGIN(PMC *arg))
- __attribute__nonnull__(1)
- __attribute__nonnull__(2)
- __attribute__nonnull__(3)
- __attribute__nonnull__(4)
- FUNC_MODIFIES(* dest_interp);
-
-int pt_thread_run_3(PARROT_INTERP,
- ARGOUT(PMC* dest_interp),
- ARGIN(PMC* sub),
- ARGIN(PMC *arg))
- __attribute__nonnull__(1)
- __attribute__nonnull__(2)
- __attribute__nonnull__(3)
- __attribute__nonnull__(4)
- FUNC_MODIFIES(* dest_interp);
+ __attribute__nonnull__(3);
void pt_thread_wait_with(PARROT_INTERP, ARGMOD(Parrot_mutex *mutex))
__attribute__nonnull__(1)
@@ -279,6 +258,11 @@
, PARROT_ASSERT_ARG(pmc))
#define ASSERT_ARGS_pt_suspend_self_for_gc __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(interp))
+#define ASSERT_ARGS_pt_thread_create __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
+ PARROT_ASSERT_ARG(interp))
+#define ASSERT_ARGS_pt_thread_create_run __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
+ PARROT_ASSERT_ARG(interp) \
+ , PARROT_ASSERT_ARG(sub))
#define ASSERT_ARGS_pt_thread_detach __attribute__unused__ int _ASSERT_ARGS_CHECK = (0)
#define ASSERT_ARGS_pt_thread_join __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(parent))
@@ -286,23 +270,7 @@
#define ASSERT_ARGS_pt_thread_prepare_for_run __attribute__unused__ int _ASSERT_ARGS_CHECK = (0)
#define ASSERT_ARGS_pt_thread_run __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(interp) \
- , PARROT_ASSERT_ARG(dest_interp) \
, PARROT_ASSERT_ARG(sub))
-#define ASSERT_ARGS_pt_thread_run_1 __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
- PARROT_ASSERT_ARG(interp) \
- , PARROT_ASSERT_ARG(dest_interp) \
- , PARROT_ASSERT_ARG(sub) \
- , PARROT_ASSERT_ARG(arg))
-#define ASSERT_ARGS_pt_thread_run_2 __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
- PARROT_ASSERT_ARG(interp) \
- , PARROT_ASSERT_ARG(dest_interp) \
- , PARROT_ASSERT_ARG(sub) \
- , PARROT_ASSERT_ARG(arg))
-#define ASSERT_ARGS_pt_thread_run_3 __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
- PARROT_ASSERT_ARG(interp) \
- , PARROT_ASSERT_ARG(dest_interp) \
- , PARROT_ASSERT_ARG(sub) \
- , PARROT_ASSERT_ARG(arg))
#define ASSERT_ARGS_pt_thread_wait_with __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(interp) \
, PARROT_ASSERT_ARG(mutex))
Modified: branches/codestring/lib/Parrot/Pmc2c/Attribute.pm
==============================================================================
--- branches/codestring/lib/Parrot/Pmc2c/Attribute.pm Mon May 3 13:16:49 2010 (r46234)
+++ branches/codestring/lib/Parrot/Pmc2c/Attribute.pm Mon May 3 14:39:34 2010 (r46235)
@@ -208,8 +208,7 @@
}
elsif ($attrtype eq "INTVAL") {
$decl .= <<"EOA";
- PMC * const attr_value = Parrot_pmc_new(interp, enum_class_Integer); \\
- VTABLE_set_integer_native(interp, attr_value, value); \\
+ PMC * const attr_value = Parrot_pmc_new_init_int(interp, enum_class_Integer, value); \\
VTABLE_set_attr_str(interp, pmc, \\
Parrot_str_new_constant(interp, "$attrname"), attr_value); \\
EOA
Deleted: branches/codestring/runtime/parrot/library/Archive/TAR.pir
==============================================================================
--- branches/codestring/runtime/parrot/library/Archive/TAR.pir Mon May 3 14:39:34 2010 (r46234)
+++ /dev/null 00:00:00 1970 (deleted)
@@ -1,427 +0,0 @@
-# Copyright (C) 2010, Parrot Foundation.
-# $Id$
-
-=head1 NAME
-
-Archive/TAR
-
-=head2 DESCRIPTION
-
-Partial port of Archive::TAR (version 1.60)
-
-See L<http://search.cpan.org/~bingos/Archive-Tar/>
-
-=cut
-
-.include 'stat.pasm'
-
-=head3 Class Archive;TAR;File
-
-=over 4
-
-=cut
-
-.namespace ['Archive';'TAR';'File']
-
-.sub '' :init :load :anon
- load_bytecode 'osutils.pbc' # basename, dirname
- $P0 = newclass ['Archive';'TAR';'File']
- $P0.'add_attribute'('name')
- $P0.'add_attribute'('mode')
- $P0.'add_attribute'('uid')
- $P0.'add_attribute'('gid')
- $P0.'add_attribute'('size')
- $P0.'add_attribute'('mtime')
- $P0.'add_attribute'('type')
- $P0.'add_attribute'('linkname')
- $P0.'add_attribute'('magic')
- $P0.'add_attribute'('version')
- $P0.'add_attribute'('uname')
- $P0.'add_attribute'('gname')
- $P0.'add_attribute'('devmajor')
- $P0.'add_attribute'('devminor')
- $P0.'add_attribute'('prefix')
- $P0.'add_attribute'('data')
- .globalconst int MODE = 0o666
- .globalconst string FILE = '0'
- .globalconst string MAGIC = 'ustar'
- .globalconst string TAR_VERSION = '00'
- .globalconst int BLOCK = 512
-.end
-
-=item data
-
-=cut
-
-.sub 'data' :method
- $P0 = getattribute self, 'data'
- .return ($P0)
-.end
-
-=item new_from_file
-
-=cut
-
-.sub 'new_from_file'
- .param string path
- .local string data
- $P0 = new 'FileHandle'
- push_eh _handler
- .local string data
- data = $P0.'readall'(path)
- pop_eh
- .local int uid, gid, mtime
- uid = stat path, .STAT_UID
- gid = stat path, .STAT_GID
- mtime = stat path, .STAT_MODIFYTIME
- .tailcall new_from_data(path, data, uid :named('uid'), gid :named('gid'), mtime :named('mtime'))
- _handler:
- null $P0
- .return ($P0)
-.end
-
-=item new_from_data
-
-=cut
-
-.sub 'new_from_data'
- .param string path
- .param string data
- .param int mode :named('mode') :optional
- .param int has_mode :opt_flag
- .param int uid :named('uid') :optional
- .param int has_uid :opt_flag
- .param int gid :named('gid') :optional
- .param int has_gid :opt_flag
- .param int mtime :named('mtime') :optional
- .param int has_mtime :opt_flag
- .param string type :named('type') :optional
- .param int has_type :opt_flag
- .param string linkname :named('linkname') :optional
- .param int has_linkname :opt_flag
- .param string uname :named('uname') :optional
- .param int has_uname :opt_flag
- .param string gname :named('gname') :optional
- .param int has_gname :opt_flag
- .param int devmajor :named('devmajor') :optional
- .param int has_devmajor :opt_flag
- .param int devminor :named('devminor') :optional
- .param int has_devminor :opt_flag
- $P0 = new ['Archive';'TAR';'File']
- .local string prefix, name
- (prefix, name) = _prefix_and_file(path)
- if has_mode goto L1
- mode = MODE
- L1:
- if has_uid goto L2
- uid = 0
- L2:
- if has_gid goto L3
- gid = 0
- L3:
- if has_mtime goto L4
- mtime = time
- L4:
- if has_type goto L5
- type = FILE
- L5:
- if has_linkname goto L6
- linkname = ''
- L6:
- if has_uname goto L7
- uname = 'unknown'
- L7:
- if has_gname goto L8
- gname = 'unknown'
- L8:
- if has_devmajor goto L9
- devmajor = 0
- L9:
- if has_devminor goto L10
- devminor = 0
- L10:
- $P1 = box data
- setattribute $P0, 'data', $P1
- $P1 = box name
- setattribute $P0, 'name', $P1
- $P1 = box mode
- setattribute $P0, 'mode', $P1
- $P1 = box uid
- setattribute $P0, 'uid', $P1
- $P1 = box gid
- setattribute $P0, 'gid', $P1
- $I0 = length data
- $P1 = box $I0
- setattribute $P0, 'size', $P1
- $I0 = mtime
- $P1 = box $I0
- setattribute $P0, 'mtime', $P1
- $P1 = box type
- setattribute $P0, 'type', $P1
- $P1 = box linkname
- setattribute $P0, 'linkname', $P1
- $P1 = box MAGIC
- setattribute $P0, 'magic', $P1
- $P1 = box TAR_VERSION
- setattribute $P0, 'version', $P1
- $P1 = box uname
- setattribute $P0, 'uname', $P1
- $P1 = box gname
- setattribute $P0, 'gname', $P1
- $P1 = box devminor
- setattribute $P0, 'devminor', $P1
- $P1 = box devmajor
- setattribute $P0, 'devmajor', $P1
- $P1 = box prefix
- setattribute $P0, 'prefix', $P1
- .return ($P0)
-.end
-
-.sub '_prefix_and_file' :anon
- .param string path
- $S0 = dirname(path)
- unless $S0 == '.' goto L1
- $S0 = ''
- L1:
- $S1 = basename(path)
- .return ($S0, $S1)
-.end
-
-=item _format_tar_entry
-
-=cut
-
-.sub '_format_tar_entry' :method
- $P0 = new 'ResizableStringArray'
- $P1 = new 'FixedPMCArray'
- set $P1, 1
- .const string f1 = '%06o'
- .const string f2 = '%11o'
- $P2 = getattribute self, 'name'
- $S0 = pad_string_with_null($P2, 100)
- push $P0, $S0
- $P2 = getattribute self, 'mode'
- $P1[0] = $P2
- $S0 = sprintf f1, $P1
- $S0 = pad_string_with_null($S0, 8)
- push $P0, $S0
- $P2 = getattribute self, 'uid'
- $P1[0] = $P2
- $S0 = sprintf f1, $P1
- $S0 = pad_string_with_null($S0, 8)
- push $P0, $S0
- $P2 = getattribute self, 'gid'
- $P1[0] = $P2
- $S0 = sprintf f1, $P1
- $S0 = pad_string_with_null($S0, 8)
- push $P0, $S0
- $P2 = getattribute self, 'size'
- $P1[0] = $P2
- $S0 = sprintf f2, $P1
- $S0 = pad_string_with_null($S0, 12)
- push $P0, $S0
- $P2 = getattribute self, 'mtime'
- $P1[0] = $P2
- $S0 = sprintf f2, $P1
- $S0 = pad_string_with_null($S0, 12)
- push $P0, $S0
- push $P0, " " # checksum
- $P2 = getattribute self, 'type'
- $S0 = pad_string_with_null($P2, 1)
- push $P0, $S0
- $P2 = getattribute self, 'linkname'
- $S0 = pad_string_with_null($P2, 100)
- push $P0, $S0
- $P2 = getattribute self, 'magic'
- $S0 = pad_string_with_null($P2, 6)
- push $P0, $S0
- $P2 = getattribute self, 'version'
- $S0 = pad_string_with_null($P2, 2)
- push $P0, $S0
- $P2 = getattribute self, 'uname'
- $S0 = pad_string_with_null($P2, 32)
- push $P0, $S0
- $P2 = getattribute self, 'gname'
- $S0 = pad_string_with_null($P2, 32)
- push $P0, $S0
- $P2 = getattribute self, 'devmajor'
- $P1[0] = $P2
- $S0 = sprintf f1, $P1
- $S0 = pad_string_with_null($S0, 8)
- push $P0, $S0
- $P2 = getattribute self, 'devminor'
- $P1[0] = $P2
- $S0 = sprintf f1, $P1
- $S0 = pad_string_with_null($S0, 8)
- push $P0, $S0
- $P2 = getattribute self, 'prefix'
- $S0 = pad_string_with_null($P2, 155)
- push $P0, $S0
- $S0 = join '', $P0
- $I0 = compute_checksum($S0)
- $P1[0] = $I0
- $S1 = sprintf "%6o\0\0", $P1
- $S0 = replace $S0, 148, 8, $S1
- $S0 = pad_string_with_null($S0, BLOCK)
- .return ($S0)
-.end
-
-.sub 'pad_string_with_null' :anon
- .param string str
- .param int size
- $S0 = substr str, 0, size
- $I0 = length str
- $I0 = size - $I0
- unless $I0 > 0 goto L1
- $S1 = repeat "\0", $I0
- $S0 .= $S1
- L1:
- .return ($S0)
-.end
-
-.sub 'compute_checksum' :anon
- .param string str
- .local int chk
- chk = 0
- $P0 = split '', str
- L1:
- unless $P0 goto L2
- $S0 = shift $P0
- $I0 = ord $S0
- chk += $I0
- goto L1
- L2:
- .return (chk)
-.end
-
-=back
-
-=head3 Class Archive;TAR
-
-=over 4
-
-=cut
-
-.namespace ['Archive';'TAR']
-
-.sub '' :init :load :anon
- $P0 = newclass ['Archive';'TAR']
- $P0.'add_attribute'('data')
-.end
-
-.sub 'init' :vtable :method
- $P0 = new 'ResizablePMCArray'
- setattribute self, 'data', $P0
-.end
-
-=item add_files
-
-=cut
-
-.sub 'add_files' :method
- .param pmc filenames :slurpy
- .local pmc rv
- rv = new 'ResizablePMCArray'
- $P0 = iter filenames
- L1:
- unless $P0 goto L2
- .local string filename
- filename = shift $P0
- $I0 = stat filename, .STAT_EXISTS
- if $I0 goto L3
- self.'_error'("No such file: '", filename, "'")
- goto L1
- L3:
- .local pmc obj
- $P1 = get_hll_global ['Archive';'TAR';'File'], 'new_from_file'
- obj = $P1(filename)
- unless null obj goto L4
- self.'_error'("Unable to add file: '", filename, "'")
- goto L1
- L4:
- push rv, obj
- goto L1
- L2:
- $P0 = getattribute self, 'data'
- $P1 = iter rv
- L5:
- unless $P1 goto L6
- $P2 = shift $P1
- push $P0, $P2
- goto L5
- L6:
- .return (rv)
-.end
-
-=item add_data
-
-=cut
-
-.sub 'add_data' :method
- .param string filename
- .param string data
- .param pmc opt :slurpy :named
- .local pmc obj
- $P0 = get_hll_global ['Archive';'TAR';'File'], 'new_from_data'
- obj = $P0(filename, data, opt :flat :named)
- $P0 = getattribute self, 'data'
- push $P0, obj
- .return (obj)
-.end
-
-=item write
-
-=cut
-
-.sub 'write' :method
- .param pmc fh
- $P0 = getattribute self, 'data'
- $P1 = iter $P0
- L1:
- unless $P1 goto L2
- .local pmc entry
- entry = shift $P1
- .local string header
- header = entry.'_format_tar_entry'()
- fh.'puts'(header)
- $S0 = entry.'data'()
- fh.'puts'($S0)
- $I0 = length $S0
- $I0 %= BLOCK
- unless $I0 goto L1
- .local string TAR_PAD
- $I0 = BLOCK - $I0
- TAR_PAD = repeat "\0", $I0
- fh.'puts'(TAR_PAD)
- goto L1
- L2:
- .local string TAR_END
- TAR_END = repeat "\0", BLOCK
- $S0 = repeat TAR_END, 2
- fh.'puts'($S0)
-.end
-
-=item _error
-
-=cut
-
-.sub '_error' :method
- .param pmc args :slurpy
- $S0 = join '', args
- printerr $S0
- printerr "\n"
-.end
-
-=back
-
-=head1 AUTHOR
-
-Francois Perrad
-
-=cut
-
-# Local Variables:
-# mode: pir
-# fill-column: 100
-# End:
-# vim: expandtab shiftwidth=4 ft=pir:
Copied: branches/codestring/runtime/parrot/library/Archive/Tar.pir (from r46234, trunk/runtime/parrot/library/Archive/Tar.pir)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ branches/codestring/runtime/parrot/library/Archive/Tar.pir Mon May 3 14:39:34 2010 (r46235, copy of r46234, trunk/runtime/parrot/library/Archive/Tar.pir)
@@ -0,0 +1,455 @@
+# Copyright (C) 2010, Parrot Foundation.
+# $Id$
+
+=head1 NAME
+
+Archive/Tar
+
+=head2 DESCRIPTION
+
+Partial port of Archive::Tar (version 1.60)
+
+See L<http://search.cpan.org/~bingos/Archive-Tar/>
+
+=cut
+
+.include 'stat.pasm'
+
+=head3 Class Archive;Tar;File
+
+=over 4
+
+=cut
+
+.namespace ['Archive';'Tar';'File']
+
+.sub '' :init :load :anon
+ load_bytecode 'osutils.pbc' # splitpath
+ $P0 = newclass ['Archive';'Tar';'File']
+ $P0.'add_attribute'('name')
+ $P0.'add_attribute'('mode')
+ $P0.'add_attribute'('uid')
+ $P0.'add_attribute'('gid')
+ $P0.'add_attribute'('size')
+ $P0.'add_attribute'('mtime')
+ $P0.'add_attribute'('type')
+ $P0.'add_attribute'('linkname')
+ $P0.'add_attribute'('magic')
+ $P0.'add_attribute'('version')
+ $P0.'add_attribute'('uname')
+ $P0.'add_attribute'('gname')
+ $P0.'add_attribute'('devmajor')
+ $P0.'add_attribute'('devminor')
+ $P0.'add_attribute'('prefix')
+ $P0.'add_attribute'('data')
+ .globalconst int MODE = 0o666
+ .globalconst string FILE = '0'
+ .globalconst string MAGIC = 'ustar'
+ .globalconst string TAR_VERSION = '00'
+ .globalconst int BLOCK = 512
+.end
+
+=item data
+
+=cut
+
+.sub 'data' :method
+ $P0 = getattribute self, 'data'
+ .return ($P0)
+.end
+
+=item new_from_file
+
+=cut
+
+.sub 'new_from_file'
+ .param string path
+ .local string data
+ $P0 = new 'FileHandle'
+ push_eh _handler
+ .local string data
+ data = $P0.'readall'(path)
+ pop_eh
+ .local int uid, gid, mtime
+ uid = stat path, .STAT_UID
+ gid = stat path, .STAT_GID
+ mtime = stat path, .STAT_MODIFYTIME
+ .tailcall new_from_data(path, data, uid :named('uid'), gid :named('gid'), mtime :named('mtime'))
+ _handler:
+ null $P0
+ .return ($P0)
+.end
+
+=item new_from_data
+
+=cut
+
+.sub 'new_from_data'
+ .param string path
+ .param string data
+ .param int mode :named('mode') :optional
+ .param int has_mode :opt_flag
+ .param int uid :named('uid') :optional
+ .param int has_uid :opt_flag
+ .param int gid :named('gid') :optional
+ .param int has_gid :opt_flag
+ .param int mtime :named('mtime') :optional
+ .param int has_mtime :opt_flag
+ .param string type :named('type') :optional
+ .param int has_type :opt_flag
+ .param string linkname :named('linkname') :optional
+ .param int has_linkname :opt_flag
+ .param string uname :named('uname') :optional
+ .param int has_uname :opt_flag
+ .param string gname :named('gname') :optional
+ .param int has_gname :opt_flag
+ .param int devmajor :named('devmajor') :optional
+ .param int has_devmajor :opt_flag
+ .param int devminor :named('devminor') :optional
+ .param int has_devminor :opt_flag
+ $P0 = new ['Archive';'Tar';'File']
+ .local string prefix, name
+ (prefix, name) = _prefix_and_file(path)
+ if has_mode goto L1
+ mode = MODE
+ L1:
+ if has_uid goto L2
+ uid = 0
+ L2:
+ if has_gid goto L3
+ gid = 0
+ L3:
+ if has_mtime goto L4
+ mtime = time
+ L4:
+ if has_type goto L5
+ type = FILE
+ L5:
+ if has_linkname goto L6
+ linkname = ''
+ L6:
+ if has_uname goto L7
+ uname = 'unknown'
+ L7:
+ if has_gname goto L8
+ gname = 'unknown'
+ L8:
+ if has_devmajor goto L9
+ devmajor = 0
+ L9:
+ if has_devminor goto L10
+ devminor = 0
+ L10:
+ $P1 = box data
+ setattribute $P0, 'data', $P1
+ $P1 = box name
+ setattribute $P0, 'name', $P1
+ $P1 = box mode
+ setattribute $P0, 'mode', $P1
+ $P1 = box uid
+ setattribute $P0, 'uid', $P1
+ $P1 = box gid
+ setattribute $P0, 'gid', $P1
+ $I0 = length data
+ $P1 = box $I0
+ setattribute $P0, 'size', $P1
+ $I0 = mtime
+ $P1 = box $I0
+ setattribute $P0, 'mtime', $P1
+ $P1 = box type
+ setattribute $P0, 'type', $P1
+ $P1 = box linkname
+ setattribute $P0, 'linkname', $P1
+ $P1 = box MAGIC
+ setattribute $P0, 'magic', $P1
+ $P1 = box TAR_VERSION
+ setattribute $P0, 'version', $P1
+ $P1 = box uname
+ setattribute $P0, 'uname', $P1
+ $P1 = box gname
+ setattribute $P0, 'gname', $P1
+ $P1 = box devminor
+ setattribute $P0, 'devminor', $P1
+ $P1 = box devmajor
+ setattribute $P0, 'devmajor', $P1
+ $P1 = box prefix
+ setattribute $P0, 'prefix', $P1
+ .return ($P0)
+.end
+
+.sub '_prefix_and_file' :anon
+ .param string path
+ .local string volume, directories, file
+ (volume, directories, file) = splitpath(path)
+ .return (directories, file)
+.end
+
+=item full_path
+
+=cut
+
+.sub 'full_path' :method
+ .local string prefix, name
+ $P0 = getattribute self, 'name'
+ name = $P0
+ $P0 = getattribute self, 'prefix'
+ prefix = $P0
+ unless prefix == '' goto L1
+ .return (name)
+ L1:
+ $S0 = catfile(prefix, name)
+ .return ($S0)
+.end
+
+=item rename
+
+=cut
+
+.sub 'rename' :method
+ .param string path
+ .local string prefix, name
+ (prefix, name) = _prefix_and_file(path)
+ $P0 = box name
+ setattribute self, 'name', $P0
+ $P0 = box prefix
+ setattribute self, 'prefix', $P0
+.end
+
+=item _format_tar_entry
+
+=cut
+
+.sub '_format_tar_entry' :method
+ $P0 = new 'ResizableStringArray'
+ $P1 = new 'FixedPMCArray'
+ set $P1, 1
+ .const string f1 = '%06o'
+ .const string f2 = '%11o'
+ $P2 = getattribute self, 'name'
+ $S0 = pad_string_with_null($P2, 100)
+ push $P0, $S0
+ $P2 = getattribute self, 'mode'
+ $P1[0] = $P2
+ $S0 = sprintf f1, $P1
+ $S0 = pad_string_with_null($S0, 8)
+ push $P0, $S0
+ $P2 = getattribute self, 'uid'
+ $P1[0] = $P2
+ $S0 = sprintf f1, $P1
+ $S0 = pad_string_with_null($S0, 8)
+ push $P0, $S0
+ $P2 = getattribute self, 'gid'
+ $P1[0] = $P2
+ $S0 = sprintf f1, $P1
+ $S0 = pad_string_with_null($S0, 8)
+ push $P0, $S0
+ $P2 = getattribute self, 'size'
+ $P1[0] = $P2
+ $S0 = sprintf f2, $P1
+ $S0 = pad_string_with_null($S0, 12)
+ push $P0, $S0
+ $P2 = getattribute self, 'mtime'
+ $P1[0] = $P2
+ $S0 = sprintf f2, $P1
+ $S0 = pad_string_with_null($S0, 12)
+ push $P0, $S0
+ push $P0, " " # checksum
+ $P2 = getattribute self, 'type'
+ $S0 = pad_string_with_null($P2, 1)
+ push $P0, $S0
+ $P2 = getattribute self, 'linkname'
+ $S0 = pad_string_with_null($P2, 100)
+ push $P0, $S0
+ $P2 = getattribute self, 'magic'
+ $S0 = pad_string_with_null($P2, 6)
+ push $P0, $S0
+ $P2 = getattribute self, 'version'
+ $S0 = pad_string_with_null($P2, 2)
+ push $P0, $S0
+ $P2 = getattribute self, 'uname'
+ $S0 = pad_string_with_null($P2, 32)
+ push $P0, $S0
+ $P2 = getattribute self, 'gname'
+ $S0 = pad_string_with_null($P2, 32)
+ push $P0, $S0
+ $P2 = getattribute self, 'devmajor'
+ $P1[0] = $P2
+ $S0 = sprintf f1, $P1
+ $S0 = pad_string_with_null($S0, 8)
+ push $P0, $S0
+ $P2 = getattribute self, 'devminor'
+ $P1[0] = $P2
+ $S0 = sprintf f1, $P1
+ $S0 = pad_string_with_null($S0, 8)
+ push $P0, $S0
+ $P2 = getattribute self, 'prefix'
+ $S0 = pad_string_with_null($P2, 155)
+ push $P0, $S0
+ $S0 = join '', $P0
+ $I0 = compute_checksum($S0)
+ $P1[0] = $I0
+ $S1 = sprintf "%6o\0\0", $P1
+ $S0 = replace $S0, 148, 8, $S1
+ $S0 = pad_string_with_null($S0, BLOCK)
+ .return ($S0)
+.end
+
+.sub 'pad_string_with_null' :anon
+ .param string str
+ .param int size
+ $S0 = substr str, 0, size
+ $I0 = length str
+ $I0 = size - $I0
+ unless $I0 > 0 goto L1
+ $S1 = repeat "\0", $I0
+ $S0 .= $S1
+ L1:
+ .return ($S0)
+.end
+
+.sub 'compute_checksum' :anon
+ .param string str
+ .local int chk
+ chk = 0
+ $P0 = split '', str
+ L1:
+ unless $P0 goto L2
+ $S0 = shift $P0
+ $I0 = ord $S0
+ chk += $I0
+ goto L1
+ L2:
+ .return (chk)
+.end
+
+=back
+
+=head3 Class Archive;Tar
+
+=over 4
+
+=cut
+
+.namespace ['Archive';'Tar']
+
+.sub '' :init :load :anon
+ $P0 = newclass ['Archive';'Tar']
+ $P0.'add_attribute'('data')
+.end
+
+.sub 'init' :vtable :method
+ $P0 = new 'ResizablePMCArray'
+ setattribute self, 'data', $P0
+.end
+
+=item add_files
+
+=cut
+
+.sub 'add_files' :method
+ .param pmc filenames :slurpy
+ .local pmc rv
+ rv = new 'ResizablePMCArray'
+ $P0 = iter filenames
+ L1:
+ unless $P0 goto L2
+ .local string filename
+ filename = shift $P0
+ $I0 = stat filename, .STAT_EXISTS
+ if $I0 goto L3
+ self.'_error'("No such file: '", filename, "'")
+ goto L1
+ L3:
+ .local pmc obj
+ $P1 = get_hll_global ['Archive';'Tar';'File'], 'new_from_file'
+ obj = $P1(filename)
+ unless null obj goto L4
+ self.'_error'("Unable to add file: '", filename, "'")
+ goto L1
+ L4:
+ push rv, obj
+ goto L1
+ L2:
+ $P0 = getattribute self, 'data'
+ $P1 = iter rv
+ L5:
+ unless $P1 goto L6
+ $P2 = shift $P1
+ push $P0, $P2
+ goto L5
+ L6:
+ .return (rv)
+.end
+
+=item add_data
+
+=cut
+
+.sub 'add_data' :method
+ .param string filename
+ .param string data
+ .param pmc opt :slurpy :named
+ .local pmc obj
+ $P0 = get_hll_global ['Archive';'Tar';'File'], 'new_from_data'
+ obj = $P0(filename, data, opt :flat :named)
+ $P0 = getattribute self, 'data'
+ push $P0, obj
+ .return (obj)
+.end
+
+=item write
+
+=cut
+
+.sub 'write' :method
+ .param pmc fh
+ $P0 = getattribute self, 'data'
+ $P1 = iter $P0
+ L1:
+ unless $P1 goto L2
+ .local pmc entry
+ entry = shift $P1
+ .local string header
+ header = entry.'_format_tar_entry'()
+ fh.'puts'(header)
+ $S0 = entry.'data'()
+ fh.'puts'($S0)
+ $I0 = length $S0
+ $I0 %= BLOCK
+ unless $I0 goto L1
+ .local string TAR_PAD
+ $I0 = BLOCK - $I0
+ TAR_PAD = repeat "\0", $I0
+ fh.'puts'(TAR_PAD)
+ goto L1
+ L2:
+ .local string TAR_END
+ TAR_END = repeat "\0", BLOCK
+ $S0 = repeat TAR_END, 2
+ fh.'puts'($S0)
+.end
+
+=item _error
+
+=cut
+
+.sub '_error' :method
+ .param pmc args :slurpy
+ $S0 = join '', args
+ printerr $S0
+ printerr "\n"
+.end
+
+=back
+
+=head1 AUTHOR
+
+Francois Perrad
+
+=cut
+
+# Local Variables:
+# mode: pir
+# fill-column: 100
+# End:
+# vim: expandtab shiftwidth=4 ft=pir:
Modified: branches/codestring/runtime/parrot/library/TAP/Harness.pir
==============================================================================
--- branches/codestring/runtime/parrot/library/TAP/Harness.pir Mon May 3 13:16:49 2010 (r46234)
+++ branches/codestring/runtime/parrot/library/TAP/Harness.pir Mon May 3 14:39:34 2010 (r46235)
@@ -212,9 +212,8 @@
$I0 = exists $P0['PARROT_TEST_HARNESS_DUMP_TAP']
unless $I0 goto L1
.local string spool
- spool = $P0['PARROT_TEST_HARNESS_DUMP_TAP']
- spool .= '/'
- spool .= test
+ $S0 = $P0['PARROT_TEST_HARNESS_DUMP_TAP']
+ spool = catfile($S0, test)
$S0 = dirname(spool)
mkpath($S0)
$P0 = new 'FileHandle'
@@ -295,7 +294,7 @@
.sub 'runtests' :method
.param pmc files
- load_bytecode 'Archive/TAR.pbc'
+ load_bytecode 'Archive/Tar.pbc'
$P0 = getattribute self, 'archive_file'
unless null $P0 goto L1
die "You must provide the name of the archive to create!"
@@ -313,7 +312,7 @@
current_dir = cwd()
chdir(dir)
.local pmc archive
- archive = new ['Archive';'TAR']
+ archive = new ['Archive';'Tar']
archive.'add_files'(files :flat)
chdir(current_dir)
rmtree(dir)
Modified: branches/codestring/runtime/parrot/library/distutils.pir
==============================================================================
--- branches/codestring/runtime/parrot/library/distutils.pir Mon May 3 13:16:49 2010 (r46234)
+++ branches/codestring/runtime/parrot/library/distutils.pir Mon May 3 14:39:34 2010 (r46235)
@@ -3022,7 +3022,7 @@
.param pmc kv :slurpy :named
run_step('manifest', kv :flat :named)
- load_bytecode 'Archive/TAR.pbc'
+ load_bytecode 'Archive/Tar.pbc'
$S0 = slurp('MANIFEST')
$P0 = split "\n", $S0
$S0 = pop $P0
@@ -3030,18 +3030,18 @@
archive_file = get_tarname('.tar.gz', kv :flat :named)
$I0 = newer(archive_file, $P0)
if $I0 goto L1
- .local string prefix
- prefix = get_tarname('', kv :flat :named)
- copy_sdist(prefix, $P0)
.local pmc archive
- archive = new ['Archive';'TAR']
- $P1 = iter $P0
+ archive = new ['Archive';'Tar']
+ $P1 = archive.'add_files'($P0 :flat)
+ .local string dir
+ dir = get_tarname('', kv :flat :named)
L2:
unless $P1 goto L3
- $S1 = shift $P1
- $S0 = prefix . '/'
- $S0 .= $S1
- archive.'add_files'($S0)
+ $P2 = shift $P1
+ $S0 = $P2.'full_path'()
+ $S0 = '/' . $S0
+ $S0 = dir . $S0
+ $P2.'rename'($S0)
goto L2
L3:
$P0 = loadlib 'gziphandle'
@@ -3049,7 +3049,6 @@
$P0.'open'(archive_file, 'wb')
archive.'write'($P0)
$P0.'close'()
- rmtree(prefix)
L1:
.end
@@ -3061,21 +3060,6 @@
unlink('MANIFEST', 1 :named('verbose'))
.end
-.sub 'copy_sdist' :anon
- .param string dirname
- .param pmc files
- mkdir(dirname)
- $S1 = dirname . "/"
- $P0 = iter files
- L1:
- unless $P0 goto L2
- $S0 = shift $P0
- $S2 = $S1 . $S0
- install($S0, $S2)
- goto L1
- L2:
-.end
-
.sub 'get_tarname' :anon
.param string ext
.param pmc kv :slurpy :named
@@ -3126,6 +3110,21 @@
unlink('MANIFEST', 1 :named('verbose'))
.end
+.sub 'copy_sdist' :anon
+ .param string dirname
+ .param pmc files
+ mkdir(dirname)
+ $S1 = dirname . "/"
+ $P0 = iter files
+ L1:
+ unless $P0 goto L2
+ $S0 = shift $P0
+ $S2 = $S1 . $S0
+ install($S0, $S2)
+ goto L1
+ L2:
+.end
+
=head3 Step sdist_rpm
=cut
Modified: branches/codestring/runtime/parrot/library/osutils.pir
==============================================================================
--- branches/codestring/runtime/parrot/library/osutils.pir Mon May 3 13:16:49 2010 (r46234)
+++ branches/codestring/runtime/parrot/library/osutils.pir Mon May 3 14:39:34 2010 (r46235)
@@ -795,6 +795,55 @@
rethrow e
.end
+=item catfile
+
+=cut
+
+.sub 'catfile'
+ .param pmc args :slurpy
+ .param int native :named('native') :optional
+ .param int has_native :opt_flag
+ .local string slash
+ slash = '/'
+ unless has_native goto L1
+ unless native goto L1
+ $P0 = getinterp
+ $P0 = $P0[.IGLOBALS_CONFIG_HASH]
+ slash = $P0['slash']
+ L1:
+ $S0 = join slash, args
+ .return ($S0)
+.end
+
+=item splitpath
+
+=cut
+
+.sub 'splitpath'
+ .param string path
+ .local string volume, directories, file
+ volume = ''
+ $I0 = index path, ':'
+ unless $I0 == 1 goto L1
+ volume = substr path, 0, 2
+ path = substr path, 2
+ L1:
+ $I0 = 0
+ L2:
+ $I1 = index path, '/', $I0
+ if $I1 < 0 goto L3
+ $I0 = $I1 + 1
+ goto L2
+ L3:
+ file = substr path, $I0
+ directories = ''
+ dec $I0
+ unless $I0 > 0 goto L4
+ directories = substr path, 0, $I0
+ L4:
+ .return (volume, directories, file)
+.end
+
=back
=head1 AUTHOR
Modified: branches/codestring/src/call/args.c
==============================================================================
--- branches/codestring/src/call/args.c Mon May 3 13:16:49 2010 (r46234)
+++ branches/codestring/src/call/args.c Mon May 3 14:39:34 2010 (r46235)
@@ -337,7 +337,7 @@
GETATTR_FixedIntegerArray_size(interp, raw_sig, arg_count);
GETATTR_FixedIntegerArray_int_array(interp, raw_sig, int_array);
- for (; arg_index < arg_count; arg_index++) {
+ for (; arg_index < arg_count; ++arg_index) {
const INTVAL arg_flags = int_array[arg_index];
const INTVAL constant = PARROT_ARG_CONSTANT_ISSET(arg_flags);
const INTVAL raw_index = raw_args[arg_index + 2];
@@ -369,7 +369,7 @@
string_value = CTX_REG_STR(ctx, raw_index);
if (arg_flags & PARROT_ARG_NAME) {
- arg_index++;
+ ++arg_index;
if (!PMC_IS_NULL(call_object)
&& VTABLE_exists_keyed_str(interp, call_object, string_value)) {
Parrot_ex_throw_from_c_args(interp, NULL, EXCEPTION_INVALID_OPERATION,
@@ -494,7 +494,7 @@
if (VTABLE_does(interp, aggregate, CONST_STRING(interp, "array"))) {
const INTVAL elements = VTABLE_elements(interp, aggregate);
INTVAL index;
- for (index = 0; index < elements; index++) {
+ for (index = 0; index < elements; ++index) {
VTABLE_push_pmc(interp, call_object,
VTABLE_get_pmc_keyed_int(interp, aggregate, index));
}
@@ -507,7 +507,7 @@
SETATTR_Key_next_key(interp, key, (PMC *)INITBucketIndex);
/* Low-level hash iteration. */
- for (index = 0; index < elements; index++) {
+ for (index = 0; index < elements; ++index) {
if (!PMC_IS_NULL(key)) {
STRING * const name = (STRING *)parrot_hash_get_idx(interp,
(Hash *)VTABLE_get_pointer(interp, aggregate), key);
@@ -610,7 +610,7 @@
PMC * const pmc_arg = va_arg(*args, PMC *);
if (type_lookahead == 'f') {
dissect_aggregate_arg(interp, call_object, pmc_arg);
- i++; /* skip 'f' */
+ ++i; /* skip 'f' */
}
else if (type_lookahead == 'i') {
if (i)
@@ -619,7 +619,7 @@
"Dispatch: only the first argument can be an invocant");
else {
VTABLE_push_pmc(interp, call_object, pmc_arg);
- i++; /* skip 'i' */
+ ++i; /* skip 'i' */
Parrot_pcc_set_object(interp, call_object, pmc_arg);
}
}
@@ -701,7 +701,7 @@
PMC * const pmc_arg = va_arg(args, PMC *);
if (type_lookahead == 'f') {
dissect_aggregate_arg(interp, call_object, pmc_arg);
- i++; /* skip 'f' */
+ ++i; /* skip 'f' */
}
else {
VTABLE_push_pmc(interp, call_object, PMC_IS_NULL(pmc_arg)
@@ -713,7 +713,7 @@
EXCEPTION_INVALID_OPERATION,
"Dispatch: only the first argument "
"can be an invocant");
- i++; /* skip 'i' */
+ ++i; /* skip 'i' */
append_pi = 0; /* Don't prepend Pi to signature */
}
}
@@ -848,13 +848,13 @@
collect_positional = Parrot_pmc_new(interp,
Parrot_get_ctx_HLL_type(interp, enum_class_ResizablePMCArray));
- for (; arg_index < positional_args; arg_index++) {
+ for (; arg_index < positional_args; ++arg_index) {
VTABLE_push_pmc(interp, collect_positional,
VTABLE_get_pmc_keyed_int(interp, call_object, arg_index));
}
*accessor->pmc(interp, arg_info, param_index) = collect_positional;
- param_index++;
+ ++param_index;
break; /* Terminate the positional arg loop. */
}
@@ -872,8 +872,8 @@
? accessor->string_constant(interp, arg_info, param_index)
: *accessor->string(interp, arg_info, param_index);
- named_count++;
- param_index++;
+ ++named_count;
+ ++param_index;
if (param_index >= param_count)
continue;
@@ -922,7 +922,7 @@
const int next_param_flags = raw_params[param_index + 1];
if (next_param_flags & PARROT_ARG_OPT_FLAG) {
- param_index++;
+ ++param_index;
*accessor->intval(interp, arg_info, param_index) = 1;
}
}
@@ -945,7 +945,7 @@
const INTVAL next_param_flags = raw_params[param_index + 1];
if (next_param_flags & PARROT_ARG_OPT_FLAG) {
- param_index++;
+ ++param_index;
*accessor->intval(interp, arg_info, param_index) = 0;
}
}
@@ -966,8 +966,8 @@
}
/* Go on to next argument and parameter. */
- arg_index++;
- param_index++;
+ ++arg_index;
+ ++param_index;
}
/* Now iterate over the named arguments and parameters. */
@@ -1017,7 +1017,7 @@
INTVAL named_arg_index;
/* Named argument iteration. */
- for (named_arg_index = 0; named_arg_index < named_arg_count; named_arg_index++) {
+ for (named_arg_index = 0; named_arg_index < named_arg_count; ++named_arg_index) {
STRING * const name = VTABLE_get_string_keyed_int(interp,
named_arg_list, named_arg_index);
@@ -1030,7 +1030,7 @@
if (PMC_IS_NULL(named_used_list))
named_used_list = Parrot_pmc_new(interp, enum_class_Hash);
VTABLE_set_integer_keyed_str(interp, named_used_list, name, 1);
- named_count++;
+ ++named_count;
}
}
}
@@ -1051,8 +1051,7 @@
if (!STRING_IS_NULL(param_name)) {
/* The next parameter is the actual value. */
- param_index++;
- if (param_index >= param_count)
+ if (++param_index >= param_count)
continue;
param_flags = raw_params[param_index];
@@ -1064,7 +1063,7 @@
if (PMC_IS_NULL(named_used_list))
named_used_list = Parrot_pmc_new(interp, enum_class_Hash);
VTABLE_set_integer_keyed_str(interp, named_used_list, param_name, 1);
- named_count++;
+ ++named_count;
/* Fill the named parameter. */
switch (PARROT_ARG_TYPE_MASK_MASK(param_flags)) {
@@ -1096,7 +1095,7 @@
const INTVAL next_param_flags = raw_params[param_index + 1];
if (next_param_flags & PARROT_ARG_OPT_FLAG) {
- param_index++;
+ ++param_index;
*accessor->intval(interp, arg_info, param_index) = 1;
}
}
@@ -1112,7 +1111,7 @@
const INTVAL next_param_flags = raw_params[param_index + 1];
if (next_param_flags & PARROT_ARG_OPT_FLAG) {
- param_index++;
+ ++param_index;
*accessor->intval(interp, arg_info, param_index) = 0;
}
}
@@ -1129,7 +1128,7 @@
}
}
- param_index++;
+ ++param_index;
}
/* Double check that all named arguments were assigned to parameters. */
@@ -1166,8 +1165,8 @@
INTVAL named_arg_index;
/* Named argument iteration. */
- for (named_arg_index = 0; named_arg_index < named_arg_count; named_arg_index++) {
- STRING *name = VTABLE_get_string_keyed_int(interp,
+ for (named_arg_index = 0; named_arg_index < named_arg_count; ++named_arg_index) {
+ STRING * const name = VTABLE_get_string_keyed_int(interp,
named_arg_list, named_arg_index);
if (!VTABLE_exists_keyed_str(interp, named_used_list, name)) {
@@ -1360,7 +1359,7 @@
const char *cur;
*arg_sig = signature;
- for (cur = signature; *cur != '\0'; cur++) {
+ for (cur = signature; *cur != '\0'; ++cur) {
if (*cur == '-') {
*return_sig = cur + 2;
return;
@@ -1397,7 +1396,7 @@
*arg_flags = Parrot_pmc_new(interp, enum_class_ResizableIntegerArray);
current_array = *arg_flags;
- for (x = signature; *x != '\0'; x++) {
+ for (x = signature; *x != '\0'; ++x) {
/* detect -> separator */
if (*x == '-')
@@ -1413,10 +1412,10 @@
}
switch (*x) {
- case 'I': flags = PARROT_ARG_INTVAL; set++; break;
- case 'N': flags = PARROT_ARG_FLOATVAL; set++; break;
- case 'S': flags = PARROT_ARG_STRING; set++; break;
- case 'P': flags = PARROT_ARG_PMC; set++; break;
+ case 'I': flags = PARROT_ARG_INTVAL; ++set; break;
+ case 'N': flags = PARROT_ARG_FLOATVAL; ++set; break;
+ case 'S': flags = PARROT_ARG_STRING; ++set; break;
+ case 'P': flags = PARROT_ARG_PMC; ++set; break;
default:
Parrot_ex_throw_from_c_args(interp, NULL,
EXCEPTION_INVALID_OPERATION,
Modified: branches/codestring/src/call/context.c
==============================================================================
--- branches/codestring/src/call/context.c Mon May 3 13:16:49 2010 (r46234)
+++ branches/codestring/src/call/context.c Mon May 3 14:39:34 2010 (r46235)
@@ -263,21 +263,21 @@
* if the architecture has 0x := NULL and 0.0 we could memset too
*/
- for (i = 0; i < ctx->n_regs_used[REGNO_PMC]; i++) {
+ for (i = 0; i < ctx->n_regs_used[REGNO_PMC]; ++i) {
ctx->bp_ps.regs_p[-1L - i] = PMCNULL;
}
- for (i = 0; i < ctx->n_regs_used[REGNO_STR]; i++) {
+ for (i = 0; i < ctx->n_regs_used[REGNO_STR]; ++i) {
ctx->bp_ps.regs_s[i] = STRINGNULL;
}
if (Interp_debug_TEST(interp, PARROT_REG_DEBUG_FLAG)) {
/* depending on -D40, set int and num to identifiable garbage values */
- for (i = 0; i < ctx->n_regs_used[REGNO_INT]; i++) {
+ for (i = 0; i < ctx->n_regs_used[REGNO_INT]; ++i) {
ctx->bp.regs_i[i] = -999;
}
- for (i = 0; i < ctx->n_regs_used[REGNO_NUM]; i++) {
+ for (i = 0; i < ctx->n_regs_used[REGNO_NUM]; ++i) {
ctx->bp.regs_n[-1L - i] = -99.9;
}
}
Modified: branches/codestring/src/datatypes.c
==============================================================================
--- branches/codestring/src/datatypes.c Mon May 3 13:16:49 2010 (r46234)
+++ branches/codestring/src/datatypes.c Mon May 3 14:39:34 2010 (r46235)
@@ -44,7 +44,7 @@
char * const type = Parrot_str_to_cstring(interp, type_name);
int i;
- for (i = enum_first_type; i < enum_last_type; i++) {
+ for (i = enum_first_type; i < enum_last_type; ++i) {
if (STREQ(data_types[i - enum_first_type].name, type)) {
Parrot_str_free_cstring(type);
return i;
Modified: branches/codestring/src/debug.c
==============================================================================
--- branches/codestring/src/debug.c Mon May 3 13:16:49 2010 (r46234)
+++ branches/codestring/src/debug.c Mon May 3 14:39:34 2010 (r46235)
@@ -1161,7 +1161,7 @@
#if 0
/* Execute */
- for (; n && pdb->cur_opcode; n--)
+ for (; n && pdb->cur_opcode; --n)
DO_OP(pdb->cur_opcode, pdb->debugee);
/* Set the stopped flag */
@@ -1366,7 +1366,7 @@
if (*(command + 1) == '=')
command += 2;
else
- command++;
+ ++command;
command = skip_whitespace(command);
@@ -1425,7 +1425,7 @@
condition->type |= PDB_cond_const;
}
else if (condition->type & PDB_cond_str) {
- for (i = 1; ((command[i] != '"') && (i < DEBUG_CMD_BUFFER_LENGTH)); i++)
+ for (i = 1; ((command[i] != '"') && (i < DEBUG_CMD_BUFFER_LENGTH)); ++i)
str[i - 1] = command[i];
str[i - 1] = '\0';
#if TRACE_DEBUGGER
@@ -1513,7 +1513,7 @@
/* Move to the line where we will set the break point */
line = pdb->file->line;
- for (i = 1; ((i < ln) && (line->next)); i++)
+ for (i = 1; ((i < ln) && (line->next)); ++i)
line = line->next;
/* Abort if the line number provided doesn't exist */
@@ -2115,7 +2115,7 @@
/* If we have to skip breakpoints, do so. */
if (pdb->breakpoint_skip) {
TRACEDEB_MSG("PDB_break skipping");
- pdb->breakpoint_skip--;
+ --pdb->breakpoint_skip;
return 0;
}
@@ -2168,7 +2168,7 @@
fill = _new = mem_gc_allocate_n_typed(interp, length * 2 + 1, char);
- for (; string < end; string++) {
+ for (; string < end; ++string) {
switch (*string) {
case '\0':
*(fill++) = '\\';
@@ -2232,8 +2232,8 @@
ASSERT_ARGS(PDB_unescape)
int l = 0;
- for (; *string; string++) {
- l++;
+ for (; *string; ++string) {
+ ++l;
if (*string == '\\') {
char *fill;
@@ -2261,7 +2261,7 @@
fill = string;
- for (i = 1; fill[i + 1]; i++)
+ for (i = 1; fill[i + 1]; ++i)
fill[i] = fill[i + 1];
fill[i] = '\0';
@@ -2307,7 +2307,7 @@
dest[size++] = ' ';
/* Concat the arguments */
- for (j = 1; j < info->op_count; j++) {
+ for (j = 1; j < info->op_count; ++j) {
char buf[256];
INTVAL i = 0;
@@ -2526,7 +2526,7 @@
/* Register decoding. It would be good to abstract this, too. */
PARROT_OBSERVER static const char regs[] = "ISPN";
- for (j = 0; j < n_values; j++) {
+ for (j = 0; j < n_values; ++j) {
size_t idx = 0;
const int sig_value = VTABLE_get_integer_keyed_int(interp, sig, j);
@@ -2812,7 +2812,7 @@
/* Get the name of the file */
for (j = 0; command[j] == ' '; ++j)
continue;
- for (i = 0; command[j]; i++, j++)
+ for (i = 0; command[j]; ++i, ++j)
f[i] = command[j];
f[i] = '\0';
@@ -2845,7 +2845,7 @@
}
pfile->source[pfile->size] = (char)c;
- pfile->size++;
+ ++pfile->size;
if (c == '\n') {
/* If the line has an opcode move to the next one,
@@ -2910,7 +2910,7 @@
h = 0;
}
- c++;
+ ++c;
}
return h;
@@ -2963,7 +2963,7 @@
return;
}
reg_type_id = (unsigned char) toupper((unsigned char) command[0]);
- command++;
+ ++command;
register_num = get_ulong(&command, 0);
switch (reg_type_id) {
@@ -3046,7 +3046,7 @@
line = pdb->file->line;
- for (i = 0; i < pdb->file->list_line && line->next; i++)
+ for (i = 0; i < pdb->file->list_line && line->next; ++i)
line = line->next;
i = 1;
@@ -3417,7 +3417,7 @@
TRACEDEB_MSG("GDB_P");
/* Skip leading whitespace. */
while (isspace((unsigned char)*s))
- s++;
+ ++s;
reg_type = (unsigned char) toupper((unsigned char)*s);
@@ -3433,7 +3433,7 @@
const int max_reg = Parrot_pcc_get_regs_used(interp, CURRENT_CONTEXT(interp), t);
int n;
- for (n = 0; n < max_reg; n++) {
+ for (n = 0; n < max_reg; ++n) {
/* this must be done in two chunks because PMC's print directly. */
Parrot_io_eprintf(interp, "\n %c%d = ", reg_type, n);
Parrot_io_eprintf(interp, "%Ss", GDB_print_reg(interp, t, n));
Modified: branches/codestring/src/dynpmc/Rules.in
==============================================================================
--- branches/codestring/src/dynpmc/Rules.in Mon May 3 13:16:49 2010 (r46234)
+++ branches/codestring/src/dynpmc/Rules.in Mon May 3 14:39:34 2010 (r46235)
@@ -24,6 +24,7 @@
src/dynpmc/foo_group.c: $(DYNPMC_FOO_OBJS)
$(PMC2C) --library foo_group --c $(DYNPMC_FOO)
$(MV) foo_group.c src/dynpmc/foo_group.c
+ $(MV) foo_group.h src/dynpmc/foo_group.h
src/dynpmc/foo$(O): src/dynpmc/foo.c $(DYNPMC_H_FILES)
Modified: branches/codestring/src/dynpmc/gziphandle.pmc
==============================================================================
--- branches/codestring/src/dynpmc/gziphandle.pmc Mon May 3 13:16:49 2010 (r46234)
+++ branches/codestring/src/dynpmc/gziphandle.pmc Mon May 3 14:39:34 2010 (r46235)
@@ -76,20 +76,23 @@
*/
METHOD open(STRING *filename, STRING *mode :optional,
INTVAL has_mode :opt_flag) {
+ char *path = Parrot_str_to_cstring(INTERP, filename);
gzFile file;
- char *path;
- char *mod = (char *)"rb";
- path = Parrot_str_to_cstring(INTERP, filename);
- if (has_mode)
- mod = Parrot_str_to_cstring(INTERP, mode);
- file = gzopen(path, mod);
- Parrot_str_free_cstring(path);
- if (has_mode)
+
+ if (has_mode) {
+ char *mod = Parrot_str_to_cstring(INTERP, mode);
+ file = gzopen(path, mod);
Parrot_str_free_cstring(mod);
- if (NULL == file) {
+ }
+ else
+ file = gzopen(path, "rb");
+
+ Parrot_str_free_cstring(path);
+
+ if (!file)
Parrot_ex_throw_from_c_args(INTERP, NULL, EXCEPTION_ILL_INHERIT,
"gzopen fails");
- }
+
SET_ATTR_file(INTERP, SELF, file);
RETURN(PMC SELF);
}
@@ -246,20 +249,24 @@
STRING *dst = NULL;
UINTVAL srcLen, bufSize, dstLen;
char *src = Parrot_str_to_cstring(INTERP, str);
- if (NULL == src) {
+
+ if (!src)
Parrot_ex_throw_from_c_args(INTERP, NULL, EXCEPTION_ILL_INHERIT,
"failed to allocate");
- }
- srcLen = Parrot_str_byte_length(INTERP, str);
+
+ srcLen = Parrot_str_byte_length(INTERP, str);
bufSize = 12 + srcLen + srcLen / 1000;
- buf = mem_allocate_n_zeroed_typed(bufSize, char);
- if (NULL == buf) {
+ buf = mem_allocate_n_zeroed_typed(bufSize, char);
+
+ if (!buf) {
Parrot_str_free_cstring(src);
Parrot_ex_throw_from_c_args(INTERP, NULL, EXCEPTION_ILL_INHERIT,
"failed to allocate");
}
+
rc = compress((Bytef *)buf, &dstLen, (const Bytef *)src, srcLen);
Parrot_str_free_cstring(src);
+
switch (rc) {
case Z_OK:
dst = Parrot_str_new(INTERP, buf, dstLen);
@@ -277,7 +284,12 @@
Parrot_ex_throw_from_c_args(INTERP, NULL, EXCEPTION_ILL_INHERIT,
"output buffer error");
break;
+
+ default:
+ /* these are the only three documented return values */
+ break;
}
+
RETURN(STRING *dst);
}
Modified: branches/codestring/src/embed.c
==============================================================================
--- branches/codestring/src/embed.c Mon May 3 13:16:49 2010 (r46234)
+++ branches/codestring/src/embed.c Mon May 3 14:39:34 2010 (r46235)
@@ -122,9 +122,6 @@
Flag Effect
C<PARROT_BOUNDS_FLAG> enable bounds checking
C<PARROT_PROFILE_FLAG> enable profiling,
-C<PARROT_THR_TYPE_1> disable variable sharing and thread communication
-C<PARROT_THR_TYPE_2> disable variable sharing but enable thread communication
-C<PARROT_THR_TYPE_3> enable variable sharing.
=cut
@@ -635,7 +632,7 @@
VTABLE_set_pmc_keyed_int(interp, interp->iglobals,
(INTVAL)IGLOBALS_ARGV_LIST, userargv);
- for (i = 0; i < argc; i++) {
+ for (i = 0; i < argc; ++i) {
/* Run through argv, adding everything to @ARGS. */
STRING * const arg =
string_make(interp, argv[i], strlen(argv[i]), "unicode",
@@ -706,7 +703,7 @@
* entry point with the address at our resume_offset.
*/
- for (i = 0; i < ft->fixup_count; i++) {
+ for (i = 0; i < ft->fixup_count; ++i) {
if (ft->fixups[i].type == enum_fixup_sub) {
const opcode_t ci = ft->fixups[i].offset;
PMC * const sub_pmc = ct->constants[ci]->u.key;
@@ -1000,7 +997,7 @@
interp->code->debugs->mappings[curr_mapping].filename;
Parrot_io_fprintf(interp, output, "# Current Source Filename '%Ss'\n",
interp->code->const_table->constants[filename_const_offset]->u.string);
- curr_mapping++;
+ ++curr_mapping;
}
}
@@ -1025,7 +1022,7 @@
Parrot_io_fprintf(interp, output, "\n");
line = line->next;
- op_code_seq_num++;
+ ++op_code_seq_num;
}
if (outfile != NULL)
Parrot_io_close(interp, output);
Modified: branches/codestring/src/exceptions.c
==============================================================================
--- branches/codestring/src/exceptions.c Mon May 3 13:16:49 2010 (r46234)
+++ branches/codestring/src/exceptions.c Mon May 3 14:39:34 2010 (r46235)
@@ -589,7 +589,7 @@
"Backtrace - Obtained %d stack frames (max trace depth is %d).\n",
size, BACKTRACE_DEPTH);
# ifndef BACKTRACE_VERBOSE
- for (i = 0; i < size; i++) {
+ for (i = 0; i < size; ++i) {
Dl_info frameInfo;
const int found = dladdr(array[i], &frameInfo);
@@ -608,7 +608,7 @@
{ /* Scope for strings */
char ** strings = backtrace_symbols(array, size);
if (strings) {
- for (i = 0; i < size; i++)
+ for (i = 0; i < size; ++i)
fprintf(stderr, "%s\n", strings[i]);
/* backtrace_symbols gets memory using malloc */
free(strings);
Modified: branches/codestring/src/frame_builder.c
==============================================================================
--- branches/codestring/src/frame_builder.c Mon May 3 13:16:49 2010 (r46234)
+++ branches/codestring/src/frame_builder.c Mon May 3 14:39:34 2010 (r46235)
@@ -259,7 +259,7 @@
while (*sig) {
switch (*sig) {
case 't':
- (*strings)++;
+ ++(*strings);
stack_size +=4;
break;
case 'd':
@@ -269,7 +269,7 @@
stack_size +=4;
break;
}
- sig++;
+ ++sig;
}
return stack_size;
@@ -408,7 +408,7 @@
case 'J': /* interpreter */
emitm_movl_m_r(interp, pc, emit_EAX, emit_EBP, 0, 1, 8);
emitm_movl_r_m(interp, pc, emit_EAX, emit_EBP, 0, 1, args_offset);
- arg_count--;
+ --arg_count;
break;
case 'p': /* push pmc->data */
/* FIXME (TT #1325) emitm_call_cfunc(pc, get_nci_p); */
@@ -461,8 +461,8 @@
return NULL;
}
args_offset +=4;
- arg_count++;
- sig++;
+ ++arg_count;
+ ++sig;
}
/* prepare to call VTABLE_get_pointer, set up args */
@@ -608,7 +608,7 @@
/* free temporary strings */
strings_offset = st_offset + ST_SIZE_OF;
- for (i=0; i<string_buffer_count; i++) {
+ for (i=0; i<string_buffer_count; ++i) {
emitm_movl_m_r(interp, pc, emit_EAX, emit_EBP, 0, 1, strings_offset);
emitm_movl_r_m(interp, pc, emit_EAX, emit_EBP, 0, 1, temp_calls_offset + 0);
emitm_call_cfunc(pc, Parrot_str_free_cstring);
Modified: branches/codestring/src/gc/alloc_resources.c
==============================================================================
--- branches/codestring/src/gc/alloc_resources.c Mon May 3 13:16:49 2010 (r46234)
+++ branches/codestring/src/gc/alloc_resources.c Mon May 3 14:39:34 2010 (r46235)
@@ -347,7 +347,7 @@
*/
alloc_new_block(mem_pools, size, pool, "compact failed");
- mem_pools->mem_allocs_since_last_collect++;
+ ++mem_pools->mem_allocs_since_last_collect;
if (pool->top_block->free < size) {
fprintf(stderr, "out of mem\n");
@@ -459,7 +459,7 @@
/* We're collecting */
mem_pools->mem_allocs_since_last_collect = 0;
mem_pools->header_allocs_since_last_collect = 0;
- mem_pools->gc_collect_runs++;
+ ++mem_pools->gc_collect_runs;
/* Snag a block big enough for everything */
total_size = pad_pool_size(pool);
@@ -920,7 +920,7 @@
check_fixed_size_obj_pool(mem_pools->string_header_pool);
check_fixed_size_obj_pool(mem_pools->constant_string_header_pool);
- for (i = 0; i < mem_pools->num_sized; i++) {
+ for (i = 0; i < mem_pools->num_sized; ++i) {
const Fixed_Size_Pool * const pool = mem_pools->sized_header_pools[i];
if (pool != NULL && pool != mem_pools->string_header_pool)
check_fixed_size_obj_pool(pool);
@@ -1128,16 +1128,16 @@
header_pools_iterate_callback(interp, mem_pools, POOL_PMC | POOL_CONST, NULL,
sweep_cb_pmc);
- for (pass = start; pass <= 2; pass++) {
+ /* for (pass = start; pass <= 2; ++pass) { */ /* XXX it's unsed loop */
header_pools_iterate_callback(interp, mem_pools, POOL_BUFFER | POOL_CONST,
- (void *)pass, sweep_cb_buf);
- }
+ (void *)start, sweep_cb_buf);
+ /* } */
mem_internal_free(mem_pools->sized_header_pools);
if (mem_pools->attrib_pools) {
unsigned int i;
- for (i = 0; i < mem_pools->num_attribs; i++) {
+ for (i = 0; i < mem_pools->num_attribs; ++i) {
PMC_Attribute_Pool *pool = mem_pools->attrib_pools[i];
PMC_Attribute_Arena *arena;
@@ -1431,7 +1431,7 @@
PMC *p = (PMC *)((char*)cur_arena->start_objects);
size_t i;
- for (i = 0; i < cur_arena->used; i++) {
+ for (i = 0; i < cur_arena->used; ++i) {
if (!PObj_on_free_list_TEST(p) && PObj_is_PMC_TEST(p)) {
if (PObj_is_PMC_shared_TEST(p))
PMC_sync(p)->owner = dest_interp;
Modified: branches/codestring/src/gc/gc_ms.c
==============================================================================
--- branches/codestring/src/gc/gc_ms.c Mon May 3 13:16:49 2010 (r46234)
+++ branches/codestring/src/gc/gc_ms.c Mon May 3 14:39:34 2010 (r46235)
@@ -557,7 +557,7 @@
pt_gc_stop_mark(interp);
/* Note it */
- mem_pools->gc_mark_runs++;
+ ++mem_pools->gc_mark_runs;
--mem_pools->gc_mark_block_level;
mem_pools->header_allocs_since_last_collect = 0;
@@ -689,7 +689,7 @@
PObj_flags_SETTO((PObj *)pmc, PObj_on_free_list_FLAG);
pool->add_free_object(interp, interp->mem_pools, pool, (PObj *)pmc);
- pool->num_free_objects++;
+ ++pool->num_free_objects;
}
/*
@@ -735,7 +735,7 @@
Fixed_Size_Pool * const pool = interp->mem_pools->string_header_pool;
PObj_flags_SETTO((PObj *)s, PObj_on_free_list_FLAG);
pool->add_free_object(interp, interp->mem_pools, pool, s);
- pool->num_free_objects++;
+ ++pool->num_free_objects;
}
}
@@ -853,7 +853,7 @@
pool->free_list = item->next;
#endif
- pool->num_free_objects--;
+ --pool->num_free_objects;
return (void *)item;
}
@@ -882,7 +882,7 @@
pool->newlast = (PMC_Attribute_Free_List *)((char *)next + item_space);
#else
pool->free_list = next;
- for (i = 0; i < num_items; i++) {
+ for (i = 0; i < num_items; ++i) {
list = next;
list->next = (PMC_Attribute_Free_List *)((char *)list + item_size);
next = list->next;
@@ -1049,7 +1049,7 @@
item->next = pool->free_list;
pool->free_list = item;
- pool->num_free_objects++;
+ ++pool->num_free_objects;
}
/*
@@ -1595,7 +1595,7 @@
Fixed_Size_Arena * const arena = pool->last_Arena;
ptr = (PObj *)pool->newfree;
pool->newfree = (void *)((char *)pool->newfree + pool->object_size);
- arena->used++;
+ ++arena->used;
if (pool->newfree >= pool->newlast)
pool->newfree = NULL;
@@ -1711,7 +1711,7 @@
gc_ms_block_GC_mark(PARROT_INTERP)
{
ASSERT_ARGS(gc_ms_block_GC_mark)
- interp->mem_pools->gc_mark_block_level++;
+ ++interp->mem_pools->gc_mark_block_level;
Parrot_shared_gc_block(interp);
}
@@ -1720,7 +1720,7 @@
{
ASSERT_ARGS(gc_ms_unblock_GC_mark)
if (interp->mem_pools->gc_mark_block_level) {
- interp->mem_pools->gc_mark_block_level--;
+ --interp->mem_pools->gc_mark_block_level;
Parrot_shared_gc_unblock(interp);
}
}
@@ -1729,7 +1729,7 @@
gc_ms_block_GC_sweep(PARROT_INTERP)
{
ASSERT_ARGS(gc_ms_block_GC_sweep)
- interp->mem_pools->gc_sweep_block_level++;
+ ++interp->mem_pools->gc_sweep_block_level;
}
static void
@@ -1737,7 +1737,7 @@
{
ASSERT_ARGS(gc_ms_unblock_GC_sweep)
if (interp->mem_pools->gc_sweep_block_level)
- interp->mem_pools->gc_sweep_block_level--;
+ --interp->mem_pools->gc_sweep_block_level;
}
static unsigned int
@@ -1818,7 +1818,7 @@
{
ASSERT_ARGS(gc_ms_active_sized_buffers)
int j, ret = 0;
- for (j = 0; j < (INTVAL)mem_pools->num_sized; j++) {
+ for (j = 0; j < (INTVAL)mem_pools->num_sized; ++j) {
Fixed_Size_Pool * const header_pool =
mem_pools->sized_header_pools[j];
if (header_pool)
@@ -1843,7 +1843,7 @@
{
ASSERT_ARGS(gc_ms_total_sized_buffers)
int j, ret = 0;
- for (j = 0; j < (INTVAL)mem_pools->num_sized; j++) {
+ for (j = 0; j < (INTVAL)mem_pools->num_sized; ++j) {
Fixed_Size_Pool * const header_pool =
mem_pools->sized_header_pools[j];
if (header_pool)
Modified: branches/codestring/src/gc/malloc.c
==============================================================================
--- branches/codestring/src/gc/malloc.c Mon May 3 13:16:49 2010 (r46234)
+++ branches/codestring/src/gc/malloc.c Mon May 3 14:39:34 2010 (r46235)
@@ -1768,7 +1768,7 @@
case 4: *mzp++ = 0; \
case 3: *mzp++ = 0; \
case 2: *mzp++ = 0; \
- case 1: *mzp++ = 0; if (mcn <= 0) break; mcn--; } \
+ case 1: *mzp++ = 0; if (mcn <= 0) break; --mcn; } \
} \
} while (0)
@@ -1787,7 +1787,7 @@
case 4: *mcdst++ = *mcsrc++; \
case 3: *mcdst++ = *mcsrc++; \
case 2: *mcdst++ = *mcsrc++; \
- case 1: *mcdst++ = *mcsrc++; if (mcn <= 0) break; mcn--; } \
+ case 1: *mcdst++ = *mcsrc++; if (mcn <= 0) break; --mcn; } \
} \
} while (0)
@@ -3857,7 +3857,7 @@
#if HAVE_MMAP
int ret;
INTERNAL_SIZE_T offset = p->prev_size;
- av->n_mmaps--;
+ --av->n_mmaps;
av->mmapped_mem -= (size + offset);
ret = munmap((char*)p - offset, size + offset);
/* munmap returns non-zero on failure */
@@ -4913,7 +4913,7 @@
}
/ / save ptrs so they can be freed during cleanup
our_os_pools[next_os_pool] = ptr;
- next_os_pool++;
+ ++next_os_pool;
ptr = (void *) ((((CHUNK_SIZE_T) ptr) + RM_PAGE_MASK) & ~RM_PAGE_MASK);
sbrk_top = (char *) ptr + size;
return ptr;
Modified: branches/codestring/src/gc/malloc_trace.c
==============================================================================
--- branches/codestring/src/gc/malloc_trace.c Mon May 3 13:16:49 2010 (r46234)
+++ branches/codestring/src/gc/malloc_trace.c Mon May 3 14:39:34 2010 (r46235)
@@ -76,9 +76,9 @@
if (fd2>=0 && (count = read(fd2, cmdline, 127)) > 0) {
close(fd2);
cmdline[count] = 0;
- for (s=cmdline; *s++;); s--;
+ for (s=cmdline; ++*s;); --s;
while (--s>cmdline && *s!='/');
- if (*s == '/') s++;
+ if (*s == '/') ++s;
sprintf(name, LOG_NAME ".%.12s.%d", s, pid);
}
else {
@@ -116,7 +116,7 @@
buffer[buffer_i].size = t.tv_sec;
buffer[buffer_i].ptr = (void *)t.tv_usec;
buffer[buffer_i].ptr2 = NULL;
- buffer_i++;
+ ++buffer_i;
if (fd < 0) open_log_file();
if (getpid() != pid) { /* Oops, must have forked... */
if (fd >= 0) close(fd);
@@ -176,7 +176,7 @@
buffer[buffer_i].size = t.tv_sec;
buffer[buffer_i].ptr = (void *)t.tv_usec;
buffer[buffer_i].ptr2 = NULL;
- buffer_i++;
+ ++buffer_i;
}
buffer[buffer_i].code = code;
buffer[buffer_i].size = size;
Modified: branches/codestring/src/gc/mark_sweep.c
==============================================================================
--- branches/codestring/src/gc/mark_sweep.c Mon May 3 13:16:49 2010 (r46234)
+++ branches/codestring/src/gc/mark_sweep.c Mon May 3 14:39:34 2010 (r46235)
@@ -268,12 +268,12 @@
b = (PObj *)cur_arena->start_objects;
/* loop only while there are objects in the arena */
- for (i = objects_end; i; i--) {
+ for (i = objects_end; i; --i) {
/* if it's on free list, do nothing */
if (PObj_live_TEST(b)) {
- total_used++;
+ ++total_used;
PObj_live_CLEAR(b);
PObj_get_FLAGS(b) &= ~PObj_custom_GC_FLAG;
}
@@ -414,7 +414,7 @@
Buffer *b = (Buffer *)arena->start_objects;
UINTVAL i;
- for (i = 0; i < arena->used; i++) {
+ for (i = 0; i < arena->used; ++i) {
PObj_live_CLEAR(b);
b = (Buffer *)((char *)b + object_size);
}
@@ -456,7 +456,7 @@
#else
/* Move all the new objects into the free list */
arena->used = num_objects;
- for (i = 0; i < num_objects; i++) {
+ for (i = 0; i < num_objects; ++i) {
pool->add_free_object(interp, pool, object);
object = (void *)((char *)object + pool->object_size);
}
Modified: branches/codestring/src/gc/system.c
==============================================================================
--- branches/codestring/src/gc/system.c Mon May 3 13:16:49 2010 (r46234)
+++ branches/codestring/src/gc/system.c Mon May 3 14:39:34 2010 (r46235)
@@ -277,7 +277,7 @@
size_t max = 0;
UINTVAL i;
- for (i = 0; i < mem_pools->num_sized; i++) {
+ for (i = 0; i < mem_pools->num_sized; ++i) {
if (mem_pools->sized_header_pools[i]) {
if (mem_pools->sized_header_pools[i]->end_arena_memory > max)
max = mem_pools->sized_header_pools[i]->end_arena_memory;
@@ -311,7 +311,7 @@
size_t min = (size_t) -1;
UINTVAL i;
- for (i = 0; i < mem_pools->num_sized; i++) {
+ for (i = 0; i < mem_pools->num_sized; ++i) {
const Fixed_Size_Pool * const pool = mem_pools->sized_header_pools[i];
if (pool && pool->start_arena_memory) {
if (pool->start_arena_memory < min)
@@ -387,7 +387,7 @@
/* Shifting a value by its size (in bits) or larger is undefined behaviour.
So need an explicit check to return 0 if there is no prefix, rather than
attempting to rely on (say) 0xFFFFFFFF << 32 being 0. */
- for (i = 0; i < bound; i++) {
+ for (i = 0; i < bound; ++i) {
if (val1 == val2)
return ~(size_t)0 << i;
@@ -494,7 +494,7 @@
ASSERT_ARGS(is_buffer_ptr)
UINTVAL i;
- for (i = 0; i < mem_pools->num_sized; i++) {
+ for (i = 0; i < mem_pools->num_sized; ++i) {
if (mem_pools->sized_header_pools[i]
&& contained_in_pool(mem_pools->sized_header_pools[i], ptr))
return 1;
Modified: branches/codestring/src/hash.c
==============================================================================
--- branches/codestring/src/hash.c Mon May 3 13:16:49 2010 (r46234)
+++ branches/codestring/src/hash.c Mon May 3 14:39:34 2010 (r46235)
@@ -645,7 +645,7 @@
ASSERT_ARGS(hash_freeze)
size_t i;
- for (i = 0; i < hash->entries; i++) {
+ for (i = 0; i < hash->entries; ++i) {
HashBucket * const b = hash->bs+i;
switch (hash->key_type) {
@@ -1063,7 +1063,7 @@
ASSERT_ARGS(parrot_chash_destroy)
UINTVAL i;
- for (i = 0; i <= hash->mask; i++) {
+ for (i = 0; i <= hash->mask; ++i) {
HashBucket *bucket = hash->bi[i];
while (bucket) {
mem_gc_free(interp, bucket->key);
@@ -1098,7 +1098,7 @@
ASSERT_ARGS(parrot_chash_destroy_values)
UINTVAL i;
- for (i = 0; i <= hash->mask; i++) {
+ for (i = 0; i <= hash->mask; ++i) {
HashBucket *bucket = hash->bi[i];
while (bucket) {
mem_gc_free(interp, bucket->key);
@@ -1226,7 +1226,7 @@
const UINTVAL entries = hash->entries;
UINTVAL i;
- for (i = 0; i < entries; i++) {
+ for (i = 0; i < entries; ++i) {
HashBucket * const bucket = hash->bs + i;
/* the hash->compare cost is too high for this fast path */
@@ -1353,7 +1353,7 @@
bucket = hash->free_list;
}
- hash->entries++;
+ ++hash->entries;
hash->free_list = bucket->next;
bucket->key = key;
bucket->value = value;
@@ -1392,7 +1392,7 @@
else
hash->bi[hashval] = bucket->next;
- hash->entries--;
+ --hash->entries;
bucket->next = hash->free_list;
bucket->key = NULL;
hash->free_list = bucket;
@@ -1423,7 +1423,7 @@
UINTVAL entries = hash->entries;
UINTVAL i;
- for (i = 0; i < entries; i++) {
+ for (i = 0; i < entries; ++i) {
void *valtmp;
HashBucket *b = hash->bs+i;
void * const key = b->key;
Modified: branches/codestring/src/hll.c
==============================================================================
--- branches/codestring/src/hll.c Mon May 3 13:16:49 2010 (r46234)
+++ branches/codestring/src/hll.c Mon May 3 14:39:34 2010 (r46235)
@@ -97,8 +97,7 @@
else
VTABLE_push_pmc(interp, hll_info, entry);
- entry_id = Parrot_pmc_new_constant(interp, enum_class_Integer);
- VTABLE_set_integer_native(interp, entry_id, id);
+ entry_id = Parrot_pmc_new_constant_init_int(interp, enum_class_Integer, id);
VTABLE_set_pmc_keyed_int(interp, entry, e_HLL_id, entry_id);
return entry;
Modified: branches/codestring/src/interp/inter_create.c
==============================================================================
--- branches/codestring/src/interp/inter_create.c Mon May 3 13:16:49 2010 (r46234)
+++ branches/codestring/src/interp/inter_create.c Mon May 3 14:39:34 2010 (r46235)
@@ -373,6 +373,15 @@
*/
Parrot_gc_completely_unblock(interp);
+ /* Set non buffered mode in standard out and err handles, flushing
+ * the buffers and avoiding pending output gets confused or lost in
+ * case of errors during destruction.
+ */
+ Parrot_io_setbuf(interp,
+ Parrot_io_stdhandle(interp, PIO_STDOUT_FILENO, NULL), PIOCTL_NONBUF);
+ Parrot_io_setbuf(interp,
+ Parrot_io_stdhandle(interp, PIO_STDERR_FILENO, NULL), PIOCTL_NONBUF);
+
if (Interp_trace_TEST(interp, ~0)) {
Parrot_io_eprintf(interp, "FileHandle objects (like stdout and stderr)"
"are about to be closed, so clearing trace flags.\n");
Modified: branches/codestring/src/interp/inter_misc.c
==============================================================================
--- branches/codestring/src/interp/inter_misc.c Mon May 3 13:16:49 2010 (r46234)
+++ branches/codestring/src/interp/inter_misc.c Mon May 3 14:39:34 2010 (r46235)
@@ -111,10 +111,9 @@
{
ASSERT_ARGS(Parrot_mark_method_writes)
STRING *const str_name = Parrot_str_new_constant(interp, name);
- PMC *const pmc_true = Parrot_pmc_new(interp, enum_class_Integer);
+ PMC *const pmc_true = Parrot_pmc_new_init_int(interp, enum_class_Integer, 1);
PMC *const method = VTABLE_get_pmc_keyed_str(
interp, interp->vtables[type]->_namespace, str_name);
- VTABLE_set_integer_native(interp, pmc_true, 1);
VTABLE_setprop(interp, method, CONST_STRING(interp, "write"), pmc_true);
}
@@ -266,27 +265,33 @@
PARROT_EXPORT
PARROT_WARN_UNUSED_RESULT
-PARROT_CAN_RETURN_NULL
+PARROT_CANNOT_RETURN_NULL
PMC*
interpinfo_p(PARROT_INTERP, INTVAL what)
{
ASSERT_ARGS(interpinfo_p)
+
+ PMC *result;
switch (what) {
case CURRENT_SUB:
- return Parrot_pcc_get_sub(interp, CURRENT_CONTEXT(interp));
+ result = Parrot_pcc_get_sub(interp, CURRENT_CONTEXT(interp));
+ break;
case CURRENT_CONT:
- {
- PMC * const cont = Parrot_pcc_get_continuation(interp, CURRENT_CONTEXT(interp));
- return cont;
- }
+ result = Parrot_pcc_get_continuation(interp, CURRENT_CONTEXT(interp));
+ break;
case CURRENT_OBJECT:
- return Parrot_pcc_get_object(interp, CURRENT_CONTEXT(interp));
+ result = Parrot_pcc_get_object(interp, CURRENT_CONTEXT(interp));
+ break;
case CURRENT_LEXPAD:
- return Parrot_pcc_get_lex_pad(interp, CURRENT_CONTEXT(interp));
+ result = Parrot_pcc_get_lex_pad(interp, CURRENT_CONTEXT(interp));
+ break;
default: /* or a warning only? */
Parrot_ex_throw_from_c_args(interp, NULL, EXCEPTION_UNIMPLEMENTED,
"illegal argument in interpinfo");
}
+
+ /* Don't send NULL values to P registers */
+ return result ? result : PMCNULL;
}
/*
@@ -336,10 +341,10 @@
while (pos > 0
&& fullname_c[pos] != '/'
&& fullname_c[pos] != '\\')
- pos--;
+ --pos;
if (pos > 0)
- pos++;
+ ++pos;
basename = Parrot_str_new(interp, fullname_c + pos, 0);
Parrot_str_free_cstring(fullname_c);
Modified: branches/codestring/src/io/buffer.c
==============================================================================
--- branches/codestring/src/io/buffer.c Mon May 3 13:16:49 2010 (r46234)
+++ branches/codestring/src/io/buffer.c Mon May 3 14:39:34 2010 (r46235)
@@ -481,7 +481,7 @@
buf_start = buffer_next;
for (l = 0; buffer_next < buffer_end;) {
- l++;
+ ++l;
if (io_is_end_of_line((char *)buffer_next)) {
Parrot_io_set_buffer_next(interp, filehandle, ++buffer_next);
break;
Modified: branches/codestring/src/io/core.c
==============================================================================
--- branches/codestring/src/io/core.c Mon May 3 13:16:49 2010 (r46234)
+++ branches/codestring/src/io/core.c Mon May 3 14:39:34 2010 (r46235)
@@ -124,7 +124,7 @@
/* this was i < PIO_NR_OPEN, but only standard handles 0..2 need
* to be kept alive AFAIK -leo
*/
- for (i = 0; i < 3; i++) {
+ for (i = 0; i < 3; ++i) {
Parrot_gc_mark_PMC_alive(interp, table[i]);
}
}
Modified: branches/codestring/src/io/socket_unix.c
==============================================================================
--- branches/codestring/src/io/socket_unix.c Mon May 3 13:16:49 2010 (r46234)
+++ branches/codestring/src/io/socket_unix.c Mon May 3 14:39:34 2010 (r46235)
@@ -395,7 +395,7 @@
This is not equivalent to any specific POSIX or BSD socket call, but
it is a useful, common primitive.
-Not at all usefule --leo.
+Not at all useful --leo.
Also, a buffering layer above this may choose to reimplement by checking
the read buffer.
Modified: branches/codestring/src/io/socket_win32.c
==============================================================================
--- branches/codestring/src/io/socket_win32.c Mon May 3 13:16:49 2010 (r46234)
+++ branches/codestring/src/io/socket_win32.c Mon May 3 14:39:34 2010 (r46235)
@@ -77,9 +77,10 @@
Parrot_io_socket_win32(PARROT_INTERP, ARGIN(PMC * s), int fam, int type, int proto)
{
ASSERT_ARGS(Parrot_io_socket_win32)
- int i = 1;
+
const int sock = socket(fam, type, proto);
if (sock >= 0) {
+ int i = 1;
setsockopt(sock, SOL_SOCKET, SO_REUSEADDR, (const char*)&i, sizeof (i));
Parrot_io_set_os_handle(interp, s, sock);
SOCKADDR_REMOTE(s)->sin_family = fam;
@@ -102,7 +103,7 @@
Parrot_io_connect_win32(PARROT_INTERP, ARGMOD(PMC *socket), ARGIN(PMC *r))
{
ASSERT_ARGS(Parrot_io_connect_win32)
- Parrot_Socket_attributes * io = PARROT_SOCKET(socket);
+ const Parrot_Socket_attributes * const io = PARROT_SOCKET(socket);
if (!r)
return -1;
@@ -141,7 +142,7 @@
Parrot_io_bind_win32(PARROT_INTERP, ARGMOD(PMC *socket), ARGMOD(PMC *sockaddr))
{
ASSERT_ARGS(Parrot_io_bind_win32)
- Parrot_Socket_attributes * io = PARROT_SOCKET(socket);
+ const Parrot_Socket_attributes * const io = PARROT_SOCKET(socket);
struct sockaddr_in * saddr;
if (!sockaddr)
@@ -174,7 +175,7 @@
Parrot_io_listen_win32(SHIM_INTERP, ARGMOD(PMC *socket), INTVAL sec)
{
ASSERT_ARGS(Parrot_io_listen_win32)
- Parrot_Socket_attributes * io = PARROT_SOCKET(socket);
+ const Parrot_Socket_attributes * const io = PARROT_SOCKET(socket);
if ((listen((int)io->os_handle, sec)) == -1) {
return -1;
}
@@ -197,7 +198,7 @@
Parrot_io_accept_win32(PARROT_INTERP, ARGMOD(PMC *socket))
{
ASSERT_ARGS(Parrot_io_accept_win32)
- Parrot_Socket_attributes * io = PARROT_SOCKET(socket);
+ const Parrot_Socket_attributes * const io = PARROT_SOCKET(socket);
PMC * newio = Parrot_io_new_socket_pmc(interp,
PIO_F_SOCKET | PIO_F_READ|PIO_F_WRITE);
Parrot_Socklen_t addrlen = sizeof (struct sockaddr_in);
@@ -240,7 +241,7 @@
{
ASSERT_ARGS(Parrot_io_send_win32)
int error, bytes, byteswrote;
- Parrot_Socket_attributes * io = PARROT_SOCKET(socket);
+ const Parrot_Socket_attributes * const io = PARROT_SOCKET(socket);
bytes = s->bufused;
byteswrote = 0;
@@ -295,7 +296,7 @@
int error;
unsigned int bytesread = 0;
char buf[2048];
- Parrot_Socket_attributes * io = PARROT_SOCKET(socket);
+ const Parrot_Socket_attributes * const io = PARROT_SOCKET(socket);
AGAIN:
if ((error = recv((int)io->os_handle, buf, 2048, 0)) >= 0) {
@@ -342,7 +343,7 @@
This is not equivalent to any specific POSIX or BSD socket call, but
it is a useful, common primitive.
-Not at all usefule --leo.
+Not at all useful --leo.
Also, a buffering layer above this may choose to reimplement by checking
the read buffer.
@@ -359,7 +360,7 @@
int n;
fd_set r, w, e;
struct timeval t;
- Parrot_Socket_attributes * io = PARROT_SOCKET(socket);
+ const Parrot_Socket_attributes * const io = PARROT_SOCKET(socket);
t.tv_sec = sec;
t.tv_usec = usec;
Modified: branches/codestring/src/io/utf8.c
==============================================================================
--- branches/codestring/src/io/utf8.c Mon May 3 13:16:49 2010 (r46234)
+++ branches/codestring/src/io/utf8.c Mon May 3 14:39:34 2010 (r46235)
@@ -73,7 +73,7 @@
goto ok;
/* need len - 1 more chars */
- len2--;
+ --len2;
s2 = Parrot_str_new_init(interp, NULL, len2, Parrot_utf8_encoding_ptr,
Parrot_unicode_charset_ptr, 0);
s2->bufused = len2;
Modified: branches/codestring/src/library.c
==============================================================================
--- branches/codestring/src/library.c Mon May 3 13:16:49 2010 (r46234)
+++ branches/codestring/src/library.c Mon May 3 14:39:34 2010 (r46235)
@@ -420,8 +420,8 @@
STRING * const nul = string_chr(interp, '\0');
path = Parrot_str_concat(interp, path, nul);
- path->bufused--;
- path->strlen--;
+ --path->bufused;
+ --path->strlen;
#ifdef WIN32
cnv_to_win32_filesep(path);
Modified: branches/codestring/src/longopt.c
==============================================================================
--- branches/codestring/src/longopt.c Mon May 3 13:16:49 2010 (r46234)
+++ branches/codestring/src/longopt.c Mon May 3 14:39:34 2010 (r46235)
@@ -145,13 +145,13 @@
const struct longopt_opt_decl* dptr;
while (argv[dex][optlen] != '\0' && argv[dex][optlen] != '=') {
- optlen++;
+ ++optlen;
}
- for (dptr = options; dptr->opt_id; dptr++) {
+ for (dptr = options; dptr->opt_id; ++dptr) {
int sptr;
/* For each listed long option... */
- for (sptr = 0; dptr->opt_long[sptr]; sptr++) {
+ for (sptr = 0; dptr->opt_long[sptr]; ++sptr) {
if (strncmp(dptr->opt_long[sptr], argv[dex], optlen) == 0
&& dptr->opt_long[sptr][optlen] == '\0') {
/* Found it */
@@ -246,7 +246,7 @@
info_buf->_shortopt_pos = &argv[dex][1];
pos = info_buf->_shortopt_pos;
- for (dptr = options; dptr->opt_id; dptr++) {
+ for (dptr = options; dptr->opt_id; ++dptr) {
if (dptr->opt_short == *pos) {
/* Found it */
info_buf->opt_id = dptr->opt_id;
Modified: branches/codestring/src/main.c
==============================================================================
--- branches/codestring/src/main.c Mon May 3 13:16:49 2010 (r46234)
+++ branches/codestring/src/main.c Mon May 3 14:39:34 2010 (r46235)
@@ -206,7 +206,7 @@
is_all_hex_digits(ARGIN(const char *s))
{
ASSERT_ARGS(is_all_hex_digits)
- for (; *s; s++)
+ for (; *s; ++s)
if (!isxdigit(*s))
return 0;
return 1;
@@ -402,7 +402,7 @@
else if (!strncmp(arg, "--hash-seed", 11)) {
if ((arg = strrchr(arg, '=')))
- arg++;
+ ++arg;
else
arg = argv[++pos];
Modified: branches/codestring/src/misc.c
==============================================================================
--- branches/codestring/src/misc.c Mon May 3 13:16:49 2010 (r46234)
+++ branches/codestring/src/misc.c Mon May 3 14:39:34 2010 (r46235)
@@ -117,7 +117,7 @@
size_t str_len;
if (len == 0)
return;
- len--;
+ --len;
if (len) {
const STRING * const ret = Parrot_vsprintf_c(interp, pat, args);
/* string_transcode(interp, ret, NULL, NULL, &ret); */
Modified: branches/codestring/src/multidispatch.c
==============================================================================
--- branches/codestring/src/multidispatch.c Mon May 3 13:16:49 2010 (r46234)
+++ branches/codestring/src/multidispatch.c Mon May 3 14:39:34 2010 (r46235)
@@ -396,7 +396,7 @@
enum_class_FixedIntegerArray, param_count);
INTVAL i;
- for (i = 0; i < param_count; i++) {
+ for (i = 0; i < param_count; ++i) {
STRING *type_name = VTABLE_get_string_keyed_int(interp, type_list, i);
INTVAL type;
@@ -646,7 +646,7 @@
if (type_sig == enum_class_Integer) { dist++; continue; }
if (type_sig == enum_type_PMC ||
(type_sig >= enum_class_default && type_sig < enum_class_core_max)) {
- dist++;
+ ++dist;
type_call = enum_class_Integer;
}
break;
@@ -654,7 +654,7 @@
if (type_sig == enum_class_Float) { dist++; continue; }
if (type_sig == enum_type_PMC ||
(type_sig >= enum_class_default && type_sig < enum_class_core_max)) {
- dist++;
+ ++dist;
type_call = enum_class_Float;
}
break;
@@ -662,7 +662,7 @@
if (type_sig == enum_class_String) { dist++; continue; }
if (type_sig == enum_type_PMC ||
(type_sig >= enum_class_default && type_sig < enum_class_core_max)) {
- dist++;
+ ++dist;
type_call = enum_class_String;
}
break;
@@ -675,7 +675,7 @@
* which matches any PMC
*/
if (type_call <= 0 && type_sig == enum_type_PMC) {
- dist++;
+ ++dist;
continue;
}
@@ -1122,7 +1122,7 @@
STRING *key;
INTVAL i;
- for (i = 0; i < num_values; i++) {
+ for (i = 0; i < num_values; ++i) {
const INTVAL id = VTABLE_type(interp, VTABLE_get_pmc_keyed_int(interp, values, i));
if (id == 0) {
mem_gc_free(interp, type_ids);
@@ -1223,7 +1223,7 @@
STRING *key;
INTVAL i;
- for (i = 0; i < num_types; i++) {
+ for (i = 0; i < num_types; ++i) {
const INTVAL id = VTABLE_get_integer_keyed_int(interp, types, i);
if (id == 0) {
Modified: branches/codestring/src/nci_test.c
==============================================================================
--- branches/codestring/src/nci_test.c Mon May 3 13:16:49 2010 (r46234)
+++ branches/codestring/src/nci_test.c Mon May 3 14:39:34 2010 (r46235)
@@ -892,10 +892,10 @@
nci_cb_D4(cb_D4_func times_ten, void* user_data)
{
int cnt;
- for (cnt = 0; cnt < 9; cnt++)
+ for (cnt = 0; cnt < 9; ++cnt)
{
(times_ten)(user_data, &int_cb_D4);
- int_cb_D4++;
+ ++int_cb_D4;
}
return;
Modified: branches/codestring/src/oo.c
==============================================================================
--- branches/codestring/src/oo.c Mon May 3 13:16:49 2010 (r46234)
+++ branches/codestring/src/oo.c Mon May 3 14:39:34 2010 (r46235)
@@ -267,7 +267,7 @@
cloned_guts->attrib_store = NULL; /* XXX Do we need to set ->attrib_store twice? */
cloned_guts->attrib_store = VTABLE_clone(interp, obj->attrib_store);
num_attrs = VTABLE_elements(interp, cloned_guts->attrib_store);
- for (i = 0; i < num_attrs; i++) {
+ for (i = 0; i < num_attrs; ++i) {
PMC * const to_clone = VTABLE_get_pmc_keyed_int(interp, cloned_guts->attrib_store, i);
if (!PMC_IS_NULL(to_clone)) {
VTABLE_set_pmc_keyed_int(interp, cloned_guts->attrib_store, i,
@@ -280,7 +280,7 @@
if (CLASS_has_alien_parents_TEST(obj->_class)) {
int j;
/* Locate any PMC parents. */
- for (j = 0; j < num_classes; j++) {
+ for (j = 0; j < num_classes; ++j) {
PMC * const cur_class = VTABLE_get_pmc_keyed_int(interp, _class->all_parents, j);
if (cur_class->vtable->base_type == enum_class_PMCProxy) {
/* Clone this PMC too. */
@@ -339,9 +339,7 @@
/* Create proxy if not found */
if (PMC_IS_NULL(proxy)) {
- PMC * const type_num = Parrot_pmc_new(interp, enum_class_Integer);
- VTABLE_set_integer_native(interp, type_num, type);
- proxy = Parrot_pmc_new_init(interp, enum_class_PMCProxy, type_num);
+ proxy = Parrot_pmc_new_init_int(interp, enum_class_PMCProxy, type);
Parrot_pcc_invoke_method_from_c_args(interp, pmc_ns, CONST_STRING(interp, "set_class"), "P->", proxy);
}
return proxy;
@@ -472,7 +470,7 @@
const INTVAL num_classes = VTABLE_elements(interp, _class->all_parents);
INTVAL i;
- for (i = 0; i < num_classes; i++) {
+ for (i = 0; i < num_classes; ++i) {
/* Get the class. */
PMC * const cur_class =
VTABLE_get_pmc_keyed_int(interp, _class->all_parents, i);
@@ -650,11 +648,10 @@
}
{
if (!typeid_exists) {
- PMC * const classname_hash = interp->class_hash;
- PMC * const item = Parrot_pmc_new(interp, enum_class_Integer);
/* set entry in name->type hash */
- VTABLE_set_integer_native(interp, item, type);
-
+ PMC * const classname_hash = interp->class_hash;
+ PMC * const item = Parrot_pmc_new_init_int(interp,
+ enum_class_Integer, type);
VTABLE_set_pmc_keyed(interp, classname_hash, name, item);
}
}
@@ -688,7 +685,7 @@
if (!mc)
return;
- for (type = 0; type < mc->mc_size; type++) {
+ for (type = 0; type < mc->mc_size; ++type) {
if (!mc->idx[type])
continue;
@@ -741,7 +738,7 @@
Caches * const mc = interp->caches;
/* mc->idx[type][bits] = e; */
- for (i = 0; i < mc->mc_size; i++) {
+ for (i = 0; i < mc->mc_size; ++i) {
if (mc->idx[i])
invalidate_type_caches(interp, i);
}
@@ -1045,13 +1042,12 @@
STRING * const class_str = CONST_STRING(interp, "class");
for (i = 0; i < n; ++i) {
- PMC *ns, *class_obj, *_class, *method_hash;
- PMC *method = PMCNULL;
-
- _class = VTABLE_get_pmc_keyed_int(interp, mro, i);
- ns = VTABLE_get_namespace(interp, _class);
+ PMC * const _class = VTABLE_get_pmc_keyed_int(interp, mro, i);
+ PMC * const ns = VTABLE_get_namespace(interp, _class);
+ PMC * const class_obj = VTABLE_inspect_str(interp, ns, class_str);
+ PMC *method = PMCNULL;
+ PMC * method_hash;
- class_obj = VTABLE_inspect_str(interp, ns, class_str);
if (PMC_IS_NULL(class_obj))
method_hash = VTABLE_inspect_str(interp, ns, methods_str);
else
@@ -1098,7 +1094,7 @@
/* Try and find something appropriate to add to the MRO - basically, the
* first list head that is not in the tail of all the other lists. */
- for (i = 0; i < list_count; i++) {
+ for (i = 0; i < list_count; ++i) {
PMC * const cand_list = VTABLE_get_pmc_keyed_int(interp, merge_list, i);
PMC *cand_class;
@@ -1109,9 +1105,9 @@
continue;
cand_class = VTABLE_get_pmc_keyed_int(interp, cand_list, 0);
- cand_count++;
+ ++cand_count;
- for (j = 0; j < list_count; j++) {
+ for (j = 0; j < list_count; ++j) {
/* Skip the current list. */
if (j != i) {
/* Is it in the tail? If so, reject. */
@@ -1121,7 +1117,7 @@
const int check_length = VTABLE_elements(interp, check_list);
int k;
- for (k = 1; k < check_length; k++) {
+ for (k = 1; k < check_length; ++k) {
if (VTABLE_get_pmc_keyed_int(interp, check_list, k) ==
cand_class) {
reject = 1;
@@ -1148,13 +1144,13 @@
"Could not build C3 linearization: ambiguous hierarchy");
/* Otherwise, remove what was accepted from the merge lists. */
- for (i = 0; i < list_count; i++) {
+ for (i = 0; i < list_count; ++i) {
PMC * const list = VTABLE_get_pmc_keyed_int(interp, merge_list, i);
const INTVAL sublist_count = VTABLE_elements(interp, list);
INTVAL j;
- for (j = 0; j < sublist_count; j++) {
+ for (j = 0; j < sublist_count; ++j) {
if (VTABLE_get_pmc_keyed_int(interp, list, j) == accepted) {
VTABLE_delete_keyed_int(interp, list, j);
break;
@@ -1218,7 +1214,7 @@
/* Otherwise, need to do merge. For that, need linearizations of all of
* our parents added to the merge list. */
merge_list = PMCNULL;
- for (i = 0; i < parent_count; i++) {
+ for (i = 0; i < parent_count; ++i) {
PMC * const lin = Parrot_ComputeMRO_C3(interp,
VTABLE_get_pmc_keyed_int(interp, immediate_parents, i));
@@ -1286,7 +1282,7 @@
/* Check we have not already composed the role; if so, just ignore it. */
INTVAL roles_count = VTABLE_elements(interp, roles_list);
- for (i = 0; i < roles_count; i++)
+ for (i = 0; i < roles_count; ++i)
if (VTABLE_get_pmc_keyed_int(interp, roles_list, i) == role)
return;
@@ -1314,7 +1310,7 @@
if (got_exclude) {
const int exclude_count = VTABLE_elements(interp, exclude);
- for (i = 0; i < exclude_count; i++) {
+ for (i = 0; i < exclude_count; ++i) {
const STRING * const check =
VTABLE_get_string_keyed_int(interp, exclude, i);
@@ -1410,7 +1406,7 @@
/* Class already has a multi-sub; need to merge our methods into it. */
const INTVAL num_subs = VTABLE_elements(interp, cur_method);
INTVAL j;
- for (j = 0; j < num_subs; j++)
+ for (j = 0; j < num_subs; ++j)
VTABLE_push_pmc(interp, cur_entry, VTABLE_get_pmc_keyed_int(interp,
cur_method, j));
}
@@ -1430,7 +1426,7 @@
/* Add this role to the roles list. */
VTABLE_push_pmc(interp, roles_list, role);
- roles_count++;
+ ++roles_count;
/* As a result of composing this role, we will also now do the roles
* that it did itself. Note that we already have the correct methods
@@ -1439,13 +1435,13 @@
Parrot_pcc_invoke_method_from_c_args(interp, role, CONST_STRING(interp, "roles"), "->P", &roles_of_role);
roles_of_role_count = VTABLE_elements(interp, roles_of_role);
- for (i = 0; i < roles_of_role_count; i++) {
+ for (i = 0; i < roles_of_role_count; ++i) {
/* Only add if we don't already have it in the list. */
PMC * const cur_role = VTABLE_get_pmc_keyed_int(interp,
roles_of_role, i);
INTVAL j;
- for (j = 0; j < roles_count; j++) {
+ for (j = 0; j < roles_count; ++j) {
if (VTABLE_get_pmc_keyed_int(interp, roles_list, j) == cur_role) {
/* We ain't be havin' it. */
VTABLE_push_pmc(interp, roles_list, cur_role);
Modified: branches/codestring/src/packdump.c
==============================================================================
--- branches/codestring/src/packdump.c Mon May 3 13:16:49 2010 (r46234)
+++ branches/codestring/src/packdump.c Mon May 3 14:39:34 2010 (r46235)
@@ -67,7 +67,7 @@
ASSERT_ARGS(PackFile_ConstTable_dump)
opcode_t i;
- for (i = 0; i < self->const_count; i++) {
+ for (i = 0; i < self->const_count; ++i) {
Parrot_io_printf(interp, " # %ld:\n", (long)i);
PackFile_Constant_dump(interp, self, self->constants[i]);
}
@@ -144,9 +144,9 @@
if (printed_flag_p)
Parrot_io_printf(interp, ",");
Parrot_io_printf(interp, "%s", flag_bit_names[idx]);
- printed_flag_p++;
+ ++printed_flag_p;
}
- idx++;
+ ++idx;
flags >>= 1;
}
Parrot_io_printf(interp, ")\n");
@@ -181,7 +181,7 @@
break;
case PFC_KEY:
- for (i = 0, key = self->u.key; key; i++) {
+ for (i = 0, key = self->u.key; key; ++i) {
GETATTR_Key_next_key(interp, key, key);
}
/* number of key components */
@@ -376,7 +376,7 @@
ASSERT_ARGS(PackFile_Fixup_dump)
opcode_t i;
- for (i = 0; i < ft->fixup_count; i++) {
+ for (i = 0; i < ft->fixup_count; ++i) {
Parrot_io_printf(interp, "\t#%d\n", (int) i);
switch (ft->fixups[i].type) {
case enum_fixup_label:
Modified: branches/codestring/src/packfile.c
==============================================================================
--- branches/codestring/src/packfile.c Mon May 3 13:16:49 2010 (r46234)
+++ branches/codestring/src/packfile.c Mon May 3 14:39:34 2010 (r46235)
@@ -818,7 +818,7 @@
PackFile_Constant ** const constants = find_constants(interp, ct);
opcode_t i;
- for (i = 0; i < ct->const_count; i++) {
+ for (i = 0; i < ct->const_count; ++i) {
PMC * pmc;
STRING * string;
switch (constants[i]->type) {
@@ -929,7 +929,7 @@
TRACE_PRINTF(("PackFile: do_sub_pragmas (action=%d)\n", action));
- for (i = 0; i < ft->fixup_count; i++) {
+ for (i = 0; i < ft->fixup_count; ++i) {
switch (ft->fixups[i].type) {
case enum_fixup_sub:
{
@@ -1176,7 +1176,7 @@
ASSERT_ARGS(PackFile_map_segments)
size_t i;
- for (i = 0; i < dir->num_segments; i++) {
+ for (i = 0; i < dir->num_segments; ++i) {
const INTVAL ret = callback(interp, dir->segments[i], user_data);
if (ret)
return ret;
@@ -1207,7 +1207,7 @@
dir->segments = mem_gc_realloc_n_typed_zeroed(interp, dir->segments,
dir->num_segments + 1, dir->num_segments, PackFile_Segment *);
dir->segments[dir->num_segments] = seg;
- dir->num_segments++;
+ ++dir->num_segments;
seg->dir = dir;
return;
@@ -1238,7 +1238,7 @@
if (dir) {
size_t i;
- for (i = 0; i < dir->num_segments; i++) {
+ for (i = 0; i < dir->num_segments; ++i) {
PackFile_Segment *seg = dir->segments[i];
if (seg) {
@@ -1282,7 +1282,7 @@
ASSERT_ARGS(PackFile_remove_segment_by_name)
size_t i;
- for (i = 0; i < dir->num_segments; i++) {
+ for (i = 0; i < dir->num_segments; ++i) {
PackFile_Segment * const seg = dir->segments[i];
if (Parrot_str_equal(interp, seg->name, name)) {
dir->num_segments--;
@@ -1537,7 +1537,7 @@
int i;
TRACE_PRINTF(("default_unpack: pre-fetch %d ops into data\n",
self->size));
- for (i = 0; i < (int)self->size; i++) {
+ for (i = 0; i < (int)self->size; ++i) {
self->data[i] = PF_fetch_opcode(self->pf, &cursor);
TRACE_PRINTF(("default_unpack: transformed op[#%d]/%d %u\n",
i, self->size, self->data[i]));
@@ -1592,7 +1592,7 @@
Parrot_io_printf(interp, "\n %04x: ", (int) i);
for (; i < (self->data ? self->size :
- self->file_offset + self->op_count); i++) {
+ self->file_offset + self->op_count); ++i) {
if (i % 8 == 0)
Parrot_io_printf(interp, "\n %04x: ", (int) i);
@@ -2027,7 +2027,7 @@
Parrot_io_printf(interp, "\n\t# %d segments\n", dir->num_segments);
- for (i = 0; i < dir->num_segments; i++) {
+ for (i = 0; i < dir->num_segments; ++i) {
const PackFile_Segment * const seg = dir->segments[i];
Parrot_io_printf(interp,
@@ -2042,7 +2042,7 @@
Parrot_io_printf(interp, "]\n");
- for (i = 0; i < dir->num_segments; i++)
+ for (i = 0; i < dir->num_segments; ++i)
PackFile_Segment_dump(interp, dir->segments[i]);
}
@@ -2076,7 +2076,7 @@
dir->segments = mem_gc_allocate_n_zeroed_typed(interp,
dir->num_segments, PackFile_Segment *);
- for (i = 0; i < dir->num_segments; i++) {
+ for (i = 0; i < dir->num_segments; ++i) {
PackFile_Segment *seg;
char *buf;
STRING *name;
@@ -2155,7 +2155,7 @@
offs, pf->src, cursor));
/* and now unpack contents of dir */
- for (i = 0; cursor && i < dir->num_segments; i++) {
+ for (i = 0; cursor && i < dir->num_segments; ++i) {
const opcode_t * const csave = cursor;
/* check len again */
@@ -2223,7 +2223,7 @@
PackFile_Directory * const dir = (PackFile_Directory *)self;
size_t i;
- for (i = 0; i < dir->num_segments; i++) {
+ for (i = 0; i < dir->num_segments; ++i) {
PackFile_Segment *segment = dir->segments[i];
/* Prevent repeated destruction */
dir->segments[i] = NULL;
@@ -2260,7 +2260,7 @@
if (seg->type != PF_BYTEC_SEG) {
size_t i;
- for (i = 1; i < num_segs; i++) {
+ for (i = 1; i < num_segs; ++i) {
PackFile_Segment * const s2 = dir->segments[i];
if (s2->type == PF_BYTEC_SEG) {
dir->segments[0] = s2;
@@ -2275,7 +2275,7 @@
if (seg->type != PF_FIXUP_SEG) {
size_t i;
- for (i = 2; i < num_segs; i++) {
+ for (i = 2; i < num_segs; ++i) {
PackFile_Segment * const s2 = dir->segments[i];
if (s2->type == PF_FIXUP_SEG) {
dir->segments[1] = s2;
@@ -2295,7 +2295,7 @@
if (seg->type != PF_CONST_SEG) {
size_t i;
- for (i = 3; i < num_segs; i++) {
+ for (i = 3; i < num_segs; ++i) {
PackFile_Segment * const s2 = dir->segments[i];
if (s2->type == PF_CONST_SEG) {
dir->segments[2] = s2;
@@ -2334,7 +2334,7 @@
/* number of segments + default, we need it for the offsets */
size = 1 + default_packed_size(self);
- for (i = 0; i < dir->num_segments; i++) {
+ for (i = 0; i < dir->num_segments; ++i) {
char *name = Parrot_str_to_cstring(interp, dir->segments[i]->name);
/* type, offset, size */
size += 3;
@@ -2346,7 +2346,7 @@
if (align && size % align)
size += (align - size % align);
- for (i = 0; i < dir->num_segments; i++) {
+ for (i = 0; i < dir->num_segments; ++i) {
size_t seg_size;
dir->segments[i]->file_offset = size + self->file_offset;
@@ -2413,9 +2413,8 @@
cursor += align - (cursor - self->pf->src) % align;*/
/* now pack all segments into new format */
- for (i = 0; i < dir->num_segments; i++) {
+ for (i = 0; i < dir->num_segments; ++i) {
PackFile_Segment * const seg = dir->segments[i];
-
cursor = PackFile_Segment_pack(interp, seg, cursor);
}
@@ -2718,7 +2717,7 @@
*cursor++ = n;
/* Now store each mapping. */
- for (i = 0; i < n; i++) {
+ for (i = 0; i < n; ++i) {
/* Bytecode offset and filename. */
*cursor++ = debug->mappings[i].offset;
*cursor++ = debug->mappings[i].filename;
@@ -2764,7 +2763,7 @@
debug->num_mappings, PackFile_DebugFilenameMapping);
/* Read in each mapping. */
- for (i = 0; i < debug->num_mappings; i++) {
+ for (i = 0; i < debug->num_mappings; ++i) {
/* Get offset and filename type. */
debug->mappings[i].offset = PF_fetch_opcode(self->pf, &cursor);
debug->mappings[i].filename = PF_fetch_opcode(self->pf, &cursor);
@@ -2809,7 +2808,7 @@
default_dump_header(interp, self);
Parrot_io_printf(interp, "\n mappings => [\n");
- for (i = 0; i < debug->num_mappings; i++) {
+ for (i = 0; i < debug->num_mappings; ++i) {
Parrot_io_printf(interp, " #%d\n [\n", i);
Parrot_io_printf(interp, " OFFSET => %d,\n",
debug->mappings[i].offset);
@@ -2919,7 +2918,7 @@
/* Find the right place and shift stuff that's after it. */
int i;
- for (i = 0; i < debug->num_mappings; i++) {
+ for (i = 0; i < debug->num_mappings; ++i) {
if (debug->mappings[i].offset > offset) {
insert_pos = i;
memmove(debug->mappings + i + 1, debug->mappings + i,
@@ -2995,7 +2994,7 @@
bytecode offset. */
int i;
- for (i = 0; i < debug->num_mappings; i++) {
+ for (i = 0; i < debug->num_mappings; ++i) {
/* If this is the last mapping or the current position is
between this mapping and the next one, return a filename. */
if (i + 1 == debug->num_mappings
@@ -3032,14 +3031,14 @@
opcode_t n;
/* TODO make an index of code segments for faster look up */
- for (i = n = 0; i < num_segs; i++) {
+ for (i = n = 0; i < num_segs; ++i) {
if (dir->segments[i]->type == PF_BYTEC_SEG) {
if (n == seg) {
Parrot_switch_to_cs(interp, (PackFile_ByteCode *)
dir->segments[i], 1);
return;
}
- n++;
+ ++n;
}
}
@@ -3278,7 +3277,7 @@
if (self->fixup_count) {
opcode_t i;
- for (i = 0; i < self->fixup_count; i++) {
+ for (i = 0; i < self->fixup_count; ++i) {
mem_gc_free(interp, self->fixups[i].name);
self->fixups[i].name = NULL;
}
@@ -3328,14 +3327,14 @@
size_t size = 1;
opcode_t i;
- for (i = 0; i < ft->fixup_count; i++) {
+ for (i = 0; i < ft->fixup_count; ++i) {
/* fixup_entry type */
- size++;
+ ++size;
switch (ft->fixups[i].type) {
case enum_fixup_label:
case enum_fixup_sub:
size += PF_size_cstring(ft->fixups[i].name);
- size ++; /* offset */
+ ++size; /* offset */
break;
case enum_fixup_none:
break;
@@ -3371,7 +3370,7 @@
*cursor++ = ft->fixup_count;
- for (i = 0; i < ft->fixup_count; i++) {
+ for (i = 0; i < ft->fixup_count; ++i) {
*cursor++ = (opcode_t) ft->fixups[i].type;
switch (ft->fixups[i].type) {
case enum_fixup_label:
@@ -3465,7 +3464,7 @@
}
}
- for (i = 0; i < self->fixup_count; i++) {
+ for (i = 0; i < self->fixup_count; ++i) {
PackFile_FixupEntry * const entry = self->fixups + i;
entry->type = PF_fetch_opcode(pf, &cursor);
@@ -3555,7 +3554,7 @@
{
ASSERT_ARGS(find_fixup)
opcode_t i;
- for (i = 0; i < ft->fixup_count; i++) {
+ for (i = 0; i < ft->fixup_count; ++i) {
if ((INTVAL)((enum_fixup_t)ft->fixups[i].type) == type
&& STREQ(ft->fixups[i].name, name)) {
return ft->fixups + i;
@@ -3662,7 +3661,7 @@
ASSERT_ARGS(PackFile_ConstTable_clear)
opcode_t i;
- for (i = 0; i < self->const_count; i++) {
+ for (i = 0; i < self->const_count; ++i) {
PackFile_Constant_destroy(interp, self->constants[i]);
self->constants[i] = NULL;
}
@@ -3726,7 +3725,7 @@
return NULL;
}
- for (i = 0; i < self->const_count; i++) {
+ for (i = 0; i < self->const_count; ++i) {
TRACE_PRINTF(("PackFile_ConstTable_unpack(): Unpacking constant %ld/%ld\n",
i, self->const_count));
self->constants[i] = PackFile_Constant_new(interp);
@@ -3840,7 +3839,7 @@
/*
=item C<size_t PackFile_Constant_pack_size(PARROT_INTERP, const
-PackFile_Constant *self)>
+PackFile_Constant *self, const PackFile_ConstTable *ct)>
Determines the size of the buffer needed in order to pack the PackFile Constant
into a contiguous region of memory.
@@ -3852,7 +3851,8 @@
PARROT_EXPORT
PARROT_WARN_UNUSED_RESULT
size_t
-PackFile_Constant_pack_size(PARROT_INTERP, ARGIN(const PackFile_Constant *self))
+PackFile_Constant_pack_size(PARROT_INTERP, ARGIN(const PackFile_Constant *self), ARGIN(const
+ PackFile_ConstTable *ct))
{
ASSERT_ARGS(PackFile_Constant_pack_size)
PMC *component;
@@ -3878,7 +3878,7 @@
case PFC_PMC:
component = self->u.key; /* the pmc (Sub, ...) */
- packed_size = PF_size_strlen(Parrot_freeze_size(interp, component));
+ packed_size = PF_size_strlen(Parrot_freeze_pbc_size(interp, component, ct));
break;
default:
@@ -3981,7 +3981,7 @@
interp->code = pf->cur_cs;
image = PF_fetch_string(interp, pf, &cursor);
- pmc = Parrot_thaw_constants(interp, image);
+ pmc = Parrot_thaw_pbc(interp, image, constt);
/* place item in const_table */
self->type = PFC_PMC;
@@ -4123,7 +4123,7 @@
/* Free any keys. */
if (self->keys) {
- for (i = 0; i < self->num_keys; i++)
+ for (i = 0; i < self->num_keys; ++i)
mem_gc_free(interp, self->keys[i]);
mem_gc_free(interp, self->keys);
@@ -4131,14 +4131,14 @@
/* Free any groups. */
if (self->groups) {
- for (i = 0; i < self->num_groups; i++)
+ for (i = 0; i < self->num_groups; ++i)
mem_gc_free(interp, self->groups[i]);
mem_gc_free(interp, self->groups);
}
/* Free any entries. */
if (self->entries) {
- for (i = 0; i < self->num_entries; i++)
+ for (i = 0; i < self->num_entries; ++i)
mem_gc_free(interp, self->entries[i]);
mem_gc_free(interp, self->entries);
}
@@ -4194,7 +4194,7 @@
/* Write key count and any keys. */
*cursor++ = self->num_keys;
- for (i = 0; i < self->num_keys; i++) {
+ for (i = 0; i < self->num_keys; ++i) {
const PackFile_Annotations_Key * const key = self->keys[i];
*cursor++ = key->name;
*cursor++ = key->type;
@@ -4203,7 +4203,7 @@
/* Write group count and any groups. */
*cursor++ = self->num_groups;
- for (i = 0; i < self->num_groups; i++) {
+ for (i = 0; i < self->num_groups; ++i) {
const PackFile_Annotations_Group * const group = self->groups[i];
*cursor++ = group->bytecode_offset;
*cursor++ = group->entries_offset;
@@ -4212,7 +4212,7 @@
/* Write entry count and any entries. */
*cursor++ = self->num_entries;
- for (i = 0; i < self->num_entries; i++) {
+ for (i = 0; i < self->num_entries; ++i) {
const PackFile_Annotations_Entry * const entry = self->entries[i];
*cursor++ = entry->bytecode_offset;
*cursor++ = entry->key;
@@ -4257,7 +4257,7 @@
self->keys = mem_gc_allocate_n_zeroed_typed(interp,
self->num_keys, PackFile_Annotations_Key *);
- for (i = 0; i < self->num_keys; i++) {
+ for (i = 0; i < self->num_keys; ++i) {
PackFile_Annotations_Key * const key = self->keys[i] =
mem_gc_allocate_zeroed_typed(interp, PackFile_Annotations_Key);
key->name = PF_fetch_opcode(seg->pf, &cursor);
@@ -4271,7 +4271,7 @@
self->groups = mem_gc_allocate_n_zeroed_typed(interp,
self->num_groups, PackFile_Annotations_Group *);
- for (i = 0; i < self->num_groups; i++) {
+ for (i = 0; i < self->num_groups; ++i) {
PackFile_Annotations_Group * const group =
self->groups[i] = mem_gc_allocate_zeroed_typed(interp,
PackFile_Annotations_Group);
@@ -4287,7 +4287,7 @@
self->num_entries = PF_fetch_opcode(seg->pf, &cursor);
self->entries = mem_gc_allocate_n_zeroed_typed(interp,
self->num_entries, PackFile_Annotations_Entry *);
- for (i = 0; i < self->num_entries; i++) {
+ for (i = 0; i < self->num_entries; ++i) {
PackFile_Annotations_Entry * const entry =
self->entries[i] = mem_gc_allocate_zeroed_typed(interp,
PackFile_Annotations_Entry);
@@ -4337,7 +4337,7 @@
/* Dump keys. */
Parrot_io_printf(interp, "\n keys => [\n");
- for (i = 0; i < self->num_keys; i++) {
+ for (i = 0; i < self->num_keys; ++i) {
const PackFile_Annotations_Key * const key = self->keys[i];
Parrot_io_printf(interp, " #%d\n [\n", i);
Parrot_io_printf(interp, " NAME => %Ss\n",
@@ -4354,7 +4354,7 @@
/* Dump groups. */
Parrot_io_printf(interp, "\n groups => [\n");
- for (i = 0; i < self->num_groups; i++) {
+ for (i = 0; i < self->num_groups; ++i) {
const PackFile_Annotations_Group * const group = self->groups[i];
Parrot_io_printf(interp, " #%d\n [\n", i);
Parrot_io_printf(interp, " BYTECODE_OFFSET => %d\n",
@@ -4369,7 +4369,7 @@
/* Dump entries. */
Parrot_io_printf(interp, "\n entries => [\n");
- for (i = 0; i < self->num_entries; i++) {
+ for (i = 0; i < self->num_entries; ++i) {
const PackFile_Annotations_Entry * const entry = self->entries[i];
Parrot_io_printf(interp, " #%d\n [\n", i);
Parrot_io_printf(interp, " BYTECODE_OFFSET => %d\n",
@@ -4420,7 +4420,7 @@
group->entries_offset = self->num_entries;
/* Increment group count. */
- self->num_groups++;
+ ++self->num_groups;
}
@@ -4451,7 +4451,7 @@
opcode_t key_id = -1;
INTVAL i;
- for (i = 0; i < self->num_keys; i++) {
+ for (i = 0; i < self->num_keys; ++i) {
STRING * const test_key = PF_CONST(self->code, self->keys[i]->name)->u.string;
if (Parrot_str_equal(interp, test_key, key_name)) {
key_id = i;
@@ -4470,7 +4470,7 @@
key_id = self->num_keys;
self->keys[key_id] = mem_gc_allocate_typed(interp, PackFile_Annotations_Key);
- self->num_keys++;
+ ++self->num_keys;
/* Populate it. */
self->keys[key_id]->name = key;
@@ -4499,7 +4499,7 @@
self->entries[self->num_entries]->key = key_id;
self->entries[self->num_entries]->value = value;
- self->num_entries++;
+ ++self->num_entries;
}
@@ -4525,8 +4525,7 @@
switch (type) {
case PF_ANNOTATION_KEY_TYPE_INT:
- result = Parrot_pmc_new(interp, enum_class_Integer);
- VTABLE_set_integer_native(interp, result, value);
+ result = Parrot_pmc_new_init_int(interp, enum_class_Integer, value);
break;
case PF_ANNOTATION_KEY_TYPE_NUM:
result = Parrot_pmc_new(interp, enum_class_Float);
@@ -4572,7 +4571,7 @@
opcode_t key_id = -1;
if (!STRING_IS_NULL(key)) {
- for (i = 0; i < self->num_keys; i++) {
+ for (i = 0; i < self->num_keys; ++i) {
STRING * const test_key = PF_CONST(self->code, self->keys[i]->name)->u.string;
if (Parrot_str_equal(interp, test_key, key)) {
key_id = i;
@@ -4585,7 +4584,7 @@
}
/* Use groups to find search start point. */
- for (i = 0; i < self->num_groups; i++)
+ for (i = 0; i < self->num_groups; ++i)
if (offset < self->groups[i]->bytecode_offset)
break;
else
@@ -4599,7 +4598,7 @@
opcode_t *have_values = mem_gc_allocate_n_zeroed_typed(interp,
self->num_keys, opcode_t);
- for (i = start_entry; i < self->num_entries; i++) {
+ for (i = start_entry; i < self->num_entries; ++i) {
if (self->entries[i]->bytecode_offset >= offset)
break;
@@ -4610,7 +4609,7 @@
/* Create hash of values we have. */
result = Parrot_pmc_new(interp, enum_class_Hash);
- for (i = 0; i < self->num_keys; i++) {
+ for (i = 0; i < self->num_keys; ++i) {
if (have_values[i]) {
STRING * const key_name = PF_CONST(self->code, self->keys[i]->name)->u.string;
VTABLE_set_pmc_keyed_str(interp, result, key_name,
@@ -4627,7 +4626,7 @@
opcode_t latest_value = 0;
opcode_t found_value = 0;
- for (i = start_entry; i < self->num_entries; i++) {
+ for (i = start_entry; i < self->num_entries; ++i) {
if (self->entries[i]->bytecode_offset >= offset)
break;
Modified: branches/codestring/src/packfile/pf_items.c
==============================================================================
--- branches/codestring/src/packfile/pf_items.c Mon May 3 13:16:49 2010 (r46234)
+++ branches/codestring/src/packfile/pf_items.c Mon May 3 14:39:34 2010 (r46235)
@@ -323,7 +323,7 @@
dest[7] |= 0x80;
/* long double frac 63 bits => 52 bits
src[7] &= 0x7f; reset integer bit */
- for (i = 0; i < 6; i++) {
+ for (i = 0; i < 6; ++i) {
dest[i+1] |= (i==5 ? src[7]&0x7f : src[i+2]) >> 3;
dest[i] |= (src[i+2] & 0x1f) << 5;
}
@@ -552,7 +552,7 @@
dest[7] |= 0x80;
/* long double frac 112 bits => 52 bits
src[13] &= 0x7f; reset integer bit */
- for (i = 0; i < 6; i++) {
+ for (i = 0; i < 6; ++i) {
dest[i+1] |= (i==5 ? src[13]&0x7f : src[i+7]) >> 3;
dest[i] |= (src[i+7] & 0x1f) << 5;
}
Modified: branches/codestring/src/packout.c
==============================================================================
--- branches/codestring/src/packout.c Mon May 3 13:16:49 2010 (r46234)
+++ branches/codestring/src/packout.c Mon May 3 14:39:34 2010 (r46235)
@@ -112,7 +112,7 @@
padding_size = 16 - (PACKFILE_HEADER_BYTES + self->header->uuid_size) % 16;
if (padding_size < 16) {
int i;
- for (i = 0; i < padding_size; i++)
+ for (i = 0; i < padding_size; ++i)
*byte_cursor++ = 0;
}
else {
@@ -162,8 +162,8 @@
const PackFile_ConstTable* const self = (const PackFile_ConstTable *) seg;
size_t size = 1; /* const_count */
- for (i = 0; i < self->const_count; i++)
- size += PackFile_Constant_pack_size(interp, self->constants[i]);
+ for (i = 0; i < self->const_count; ++i)
+ size += PackFile_Constant_pack_size(interp, self->constants[i], self);
return size;
}
@@ -197,7 +197,7 @@
*cursor++ = self->const_count;
- for (i = 0; i < self->const_count; i++)
+ for (i = 0; i < self->const_count; ++i)
cursor = PackFile_Constant_pack(interp, self, self->constants[i], cursor);
return cursor;
@@ -228,7 +228,7 @@
GETATTR_Key_str_key(interp, key, key_str);
GETATTR_Key_num_key(interp, key, key_num);
- for (i = 0; i < ct->const_count; i++) {
+ for (i = 0; i < ct->const_count; ++i) {
if (type == PFC_STRING && ct->constants[i]->u.string == key_str)
return i;
if (type == PFC_NUMBER && ct->constants[i]->u.number == key_num)
@@ -286,12 +286,12 @@
case PFC_PMC:
key = self->u.key; /* the (Sub) PMC */
- image = Parrot_freeze(interp, key);
+ image = Parrot_freeze_pbc(interp, key, const_table);
cursor = PF_store_string(cursor, image);
break;
case PFC_KEY:
- for (i = 0, key = self->u.key; key; i++){
+ for (i = 0, key = self->u.key; key; ++i){
GETATTR_Key_next_key(interp, key, key);
}
Modified: branches/codestring/src/pbc_dump.c
==============================================================================
--- branches/codestring/src/pbc_dump.c Mon May 3 13:16:49 2010 (r46234)
+++ branches/codestring/src/pbc_dump.c Mon May 3 14:39:34 2010 (r46235)
@@ -124,7 +124,7 @@
/* trace_op_dump(interp, self->pf->src, pc); */
Parrot_io_printf(interp, " %04x: ", (int)(pc - self->data));
- for (i = 0; i < 6; i++)
+ for (i = 0; i < 6; ++i)
if (i < n)
Parrot_io_printf(interp, "%08lx ", (unsigned long)pc[i]);
else
@@ -210,7 +210,7 @@
const PackFile_Directory * const dir = (const PackFile_Directory *)self;
size_t i;
- for (i = 0; i < dir->num_segments; i++)
+ for (i = 0; i < dir->num_segments; ++i)
self->pf->PackFuncs[dir->segments[i]->type].dump(interp, dir->segments[i]);
}
@@ -440,7 +440,7 @@
if (nums_only) {
int i;
- for (i = PF_DIR_SEG + 1; i < PF_MAX_SEG; i++)
+ for (i = PF_DIR_SEG + 1; i < PF_MAX_SEG; ++i)
pf->PackFuncs[i].dump = null_dump;
pf->PackFuncs[PF_DIR_SEG].dump = null_dir_dump;
Modified: branches/codestring/src/pbc_merge.c
==============================================================================
--- branches/codestring/src/pbc_merge.c Mon May 3 13:16:49 2010 (r46234)
+++ branches/codestring/src/pbc_merge.c Mon May 3 14:39:34 2010 (r46235)
@@ -325,7 +325,7 @@
}
/* Loop over input files. */
- for (i = 0; i < num_inputs; i++) {
+ for (i = 0; i < num_inputs; ++i) {
/* Get the bytecode segment from the input file. */
PackFile_ByteCode * const in_seg = inputs[i]->pf->cur_cs;
if (in_seg == NULL) {
@@ -393,7 +393,7 @@
}
/* Loop over input files. */
- for (i = 0; i < num_inputs; i++) {
+ for (i = 0; i < num_inputs; ++i) {
/* Get the constant table segment from the input file. */
PackFile_ConstTable * const in_seg = inputs[i]->pf->cur_cs->const_table;
@@ -414,7 +414,7 @@
cursor + in_seg->const_count, PackFile_Constant*);
/* Loop over the constants and copy them to the output PBC. */
- for (j = 0; j < in_seg->const_count; j++) {
+ for (j = 0; j < in_seg->const_count; ++j) {
/* Get the entry and allocate space for copy. */
PackFile_Constant *cur_entry = in_seg->constants[j];
PackFile_Constant *copy = mem_gc_allocate_typed(interp,
@@ -439,12 +439,12 @@
}
inputs[i]->const_map[input_const_num] = output_const_num;
- input_const_num++;
- output_const_num++;
+ ++input_const_num;
+ ++output_const_num;
/* Slot it into the list. */
constants[cursor] = copy;
- cursor++;
+ ++cursor;
}
}
@@ -488,7 +488,7 @@
}
/* Loop over input files. */
- for (i = 0; i < num_inputs; i++) {
+ for (i = 0; i < num_inputs; ++i) {
/* Get the fixup segment from the input file. */
PackFile_FixupTable * const in_seg = inputs[i]->pf->cur_cs->fixups;
int j;
@@ -508,7 +508,7 @@
/* Loop over the fixups and copy them to the output PBC, correcting
the offsets into the bytecode. */
- for (j = 0; j < in_seg->fixup_count; j++) {
+ for (j = 0; j < in_seg->fixup_count; ++j) {
/* Get the entry and allocate space for copies. */
const PackFile_FixupEntry * const cur_entry = in_seg->fixups + j;
PackFile_FixupEntry * const copy =
@@ -536,7 +536,7 @@
/* Slot it into the list. */
fixups[cursor] = *copy;
- cursor++;
+ ++cursor;
}
}
@@ -576,7 +576,7 @@
/* We need to merge both the mappings and the list of line numbers.
The line numbers can just be concatenated. The mappings must have
their offsets fixed up. */
- for (i = 0; i < num_inputs; i++) {
+ for (i = 0; i < num_inputs; ++i) {
const PackFile_Debug * const in_seg = inputs[i]->pf->cur_cs->debugs;
int j;
@@ -592,7 +592,7 @@
num_mappings + in_seg->num_mappings,
PackFile_DebugFilenameMapping);
- for (j = 0; j < in_seg->num_mappings; j++) {
+ for (j = 0; j < in_seg->num_mappings; ++j) {
PackFile_DebugFilenameMapping *mapping = mappings + num_mappings + j;
STRUCT_COPY_FROM_STRUCT(mapping, in_seg->mappings[j]);
@@ -647,16 +647,16 @@
/* Keep track of the current input file. */
if (cur_input + 1 < num_inputs &&
cur_op >= inputs[cur_input + 1]->code_start)
- cur_input++;
+ ++cur_input;
/* Get info about this op and jump over it. */
op_num = ops[cur_op];
op = &interp->op_info_table[op_num];
op_ptr = ops + cur_op;
- cur_op++;
+ ++cur_op;
/* Loop over the arguments. */
- for (cur_arg = 1; cur_arg < op->op_count; cur_arg++) {
+ for (cur_arg = 1; cur_arg < op->op_count; ++cur_arg) {
/* Pick out any indexes into the constant table and correct them. */
switch (op->types[cur_arg - 1]) {
case PARROT_ARG_NC:
@@ -671,7 +671,7 @@
}
/* Move along the bytecode array. */
- cur_op++;
+ ++cur_op;
}
/* Handle special case variable argument opcodes. */
@@ -684,7 +684,7 @@
/* Loop over the arguments to locate any that need a fixup. */
const int sig_items = VTABLE_elements(interp, sig);
- for (cur_arg = 0; cur_arg < sig_items; cur_arg++) {
+ for (cur_arg = 0; cur_arg < sig_items; ++cur_arg) {
switch (VTABLE_get_integer_keyed_int(interp, sig, cur_arg)) {
case PARROT_ARG_NC:
case PARROT_ARG_PC:
@@ -696,7 +696,7 @@
default:
break;
}
- cur_op++;
+ ++cur_op;
}
}
}
@@ -731,10 +731,10 @@
}
/* calculate how many constants are stored in the packfiles to be merged */
- for (i = 0; i < num_inputs; i++) {
+ for (i = 0; i < num_inputs; ++i) {
PackFile_Directory *pf_dir = &inputs[i]->pf->directory;
unsigned int j = 0;
- for (j = 0; j < pf_dir->num_segments; j++) {
+ for (j = 0; j < pf_dir->num_segments; ++j) {
PackFile_Segment *seg = (PackFile_Segment *)pf_dir->segments[j];
if (seg->type == PF_CONST_SEG) {
opcode_t const_count = ((PackFile_ConstTable *)seg)->const_count;
@@ -755,7 +755,7 @@
/* Walk bytecode and fix ops that reference the constants table. */
pbc_merge_ctpointers(interp, inputs, num_inputs, bc);
- for (i = 0; i < num_inputs; i++) {
+ for (i = 0; i < num_inputs; ++i) {
mem_gc_free(interp, inputs[i]->const_map);
}
@@ -861,7 +861,7 @@
structure for each of them. */
input_files = mem_gc_allocate_n_typed(interp, argc, pbc_merge_input*);
- for (i = 0; i < argc; i++) {
+ for (i = 0; i < argc; ++i) {
/* Allocate a struct. */
input_files[i] = mem_gc_allocate_typed(interp, pbc_merge_input);
@@ -879,7 +879,7 @@
}
/* Next file. */
- argv++;
+ ++argv;
}
/* Merge. */
Modified: branches/codestring/src/pmc/callcontext.pmc
==============================================================================
--- branches/codestring/src/pmc/callcontext.pmc Mon May 3 13:16:49 2010 (r46234)
+++ branches/codestring/src/pmc/callcontext.pmc Mon May 3 14:39:34 2010 (r46235)
@@ -30,7 +30,6 @@
INTVAL type;
} Pcc_cell;
-/* mask off lower two bits (1 + 2 = 3) for pointer tags */
#define NOCELL 0
#define INTCELL 1
#define FLOATCELL 2
@@ -383,7 +382,7 @@
UINTVAL i, j = 0;
result = Parrot_pmc_new_init_int(interp, enum_class_FixedStringArray, hash->entries);
- for (i = 0; i <= hash->mask; i++) {
+ for (i = 0; i <= hash->mask; ++i) {
HashBucket *b = hash->bi[i];
while (b) {
@@ -580,7 +579,7 @@
if (hash) {
UINTVAL i;
- for (i = 0; i <= hash->mask; i++) {
+ for (i = 0; i <= hash->mask; ++i) {
HashBucket *b = hash->bi[i];
while (b) {
@@ -618,7 +617,7 @@
if (hash) {
UINTVAL i;
- for (i = 0; i <= hash->mask; i++) {
+ for (i = 0; i <= hash->mask; ++i) {
HashBucket *b = hash->bi[i];
while (b) {
@@ -1020,7 +1019,7 @@
GET_ATTR_positionals(INTERP, SELF, cells);
retval = autobox_pmc(INTERP, &cells[0]);
- for (i = 1; i < size; i++)
+ for (i = 1; i < size; ++i)
cells[i - 1] = cells[i];
SET_ATTR_num_positionals(INTERP, SELF, size - 1);
@@ -1041,7 +1040,7 @@
GET_ATTR_positionals(INTERP, SELF, cells);
retval = autobox_string(INTERP, &cells[0]);
- for (i = 1; i < size; i++)
+ for (i = 1; i < size; ++i)
cells[i - 1] = cells[i];
SET_ATTR_num_positionals(INTERP, SELF, size - 1);
Modified: branches/codestring/src/pmc/class.pmc
==============================================================================
--- branches/codestring/src/pmc/class.pmc Mon May 3 13:16:49 2010 (r46234)
+++ branches/codestring/src/pmc/class.pmc Mon May 3 14:39:34 2010 (r46235)
@@ -208,7 +208,7 @@
/* Insert into hash, along with index. */
VTABLE_set_integer_keyed_str(interp, attrib_index, full_key, cur_index);
VTABLE_set_integer_keyed_str(interp, class_cache, attrib_name, cur_index);
- cur_index++;
+ ++cur_index;
}
return cur_index;
@@ -228,7 +228,7 @@
int i;
/* Go over the list of all parents to construct the attribute index. */
- for (i = 0; i < num_classes; i++) {
+ for (i = 0; i < num_classes; ++i) {
/* Get the class and check that it respects the standard class interface
* (if not we don't know how it stores its attributes, so we'll have to
* delegate the lookup). */
@@ -352,7 +352,7 @@
const int parent_count = VTABLE_elements(interp, parent_list);
int i;
- for (i = 0; i < parent_count; i++)
+ for (i = 0; i < parent_count; ++i)
VTABLE_add_parent(interp, self,
VTABLE_get_pmc_keyed_int(interp, parent_list, i));
}
@@ -365,7 +365,7 @@
const int role_count = VTABLE_elements(interp, role_list);
int i;
- for (i = 0; i < role_count; i++)
+ for (i = 0; i < role_count; ++i)
VTABLE_add_role(interp, self,
VTABLE_get_pmc_keyed_int(interp, role_list, i));
}
@@ -378,7 +378,7 @@
const int attrib_count = VTABLE_elements(interp, attrs_name_list);
int i;
- for (i = 0; i < attrib_count; i++) {
+ for (i = 0; i < attrib_count; ++i) {
STRING * const attr_name = VTABLE_get_string_keyed_int(interp,
attrs_name_list, i);
VTABLE_add_attribute(interp, self, attr_name, PMCNULL);
@@ -415,7 +415,7 @@
STRING * const name = CONST_STRING(interp, "init");
/* Loop through the parents in reverse MRO order. */
- for (; parent_index >= 0; parent_index--) {
+ for (; parent_index >= 0; --parent_index) {
PMC *meth;
PMC * const parent = VTABLE_get_pmc_keyed_int(interp,
all_parents, parent_index);
@@ -445,7 +445,7 @@
STRING * const name = CONST_STRING(interp, "init_pmc");
/* Loop through the parents in reverse MRO order. */
- for (; parent_index >= 0; parent_index--) {
+ for (; parent_index >= 0; --parent_index) {
PMC *meth;
PMC * const parent = VTABLE_get_pmc_keyed_int(interp,
all_parents, parent_index);
@@ -586,23 +586,23 @@
PObj_custom_mark_SET(SELF);
/* Set up the object. */
- _class->name = CONST_STRING(interp, "");
+ _class->name = CONST_STRING(INTERP, "");
_class->_namespace = PMCNULL;
- _class->parents = Parrot_pmc_new(interp, enum_class_ResizablePMCArray);
- _class->all_parents = Parrot_pmc_new(interp, enum_class_ResizablePMCArray);
- _class->roles = Parrot_pmc_new(interp, enum_class_ResizablePMCArray);
- _class->methods = Parrot_pmc_new(interp, enum_class_Hash);
- _class->attrib_metadata = Parrot_pmc_new(interp, enum_class_Hash);
+ _class->parents = Parrot_pmc_new(INTERP, enum_class_ResizablePMCArray);
+ _class->all_parents = Parrot_pmc_new(INTERP, enum_class_ResizablePMCArray);
+ _class->roles = Parrot_pmc_new(INTERP, enum_class_ResizablePMCArray);
+ _class->methods = Parrot_pmc_new(INTERP, enum_class_Hash);
+ _class->attrib_metadata = Parrot_pmc_new(INTERP, enum_class_Hash);
_class->attrib_index = PMCNULL;
_class->attrib_cache = PMCNULL;
_class->meth_cache = PMCNULL;
- _class->resolve_method = Parrot_pmc_new(interp, enum_class_ResizablePMCArray);
+ _class->resolve_method = Parrot_pmc_new(INTERP, enum_class_ResizablePMCArray);
- _class->vtable_overrides = Parrot_pmc_new(interp, enum_class_Hash);
- _class->parent_overrides = Parrot_pmc_new(interp, enum_class_Hash);
+ _class->vtable_overrides = Parrot_pmc_new(INTERP, enum_class_Hash);
+ _class->parent_overrides = Parrot_pmc_new(INTERP, enum_class_Hash);
/* We put ourself on the all parents list. */
- VTABLE_push_pmc(interp, _class->all_parents, SELF);
+ VTABLE_push_pmc(INTERP, _class->all_parents, SELF);
/* We are a class. */
PObj_is_class_SET(SELF);
@@ -613,8 +613,8 @@
VTABLE void init_pmc(PMC *init_data) {
PMC *arg;
- const INTVAL arg_type = VTABLE_type(interp, init_data);
- STRING * const name_str = CONST_STRING(interp, "name");
+ const INTVAL arg_type = VTABLE_type(INTERP, init_data);
+ STRING * const name_str = CONST_STRING(INTERP, "name");
/* Set up the object. */
SELF.init();
@@ -626,8 +626,8 @@
case enum_class_ResizableStringArray:
case enum_class_NameSpace:
/* set only the name property */
- arg = Parrot_pmc_new(interp, enum_class_Hash);
- VTABLE_set_pmc_keyed_str(interp, arg, name_str, init_data);
+ arg = Parrot_pmc_new(INTERP, enum_class_Hash);
+ VTABLE_set_pmc_keyed_str(INTERP, arg, name_str, init_data);
break;
case enum_class_Hash:
@@ -636,15 +636,15 @@
/* slow attempt to determine init_data type */
default:
- if (VTABLE_isa(interp, init_data, CONST_STRING(interp, "String"))
- || VTABLE_isa(interp, init_data, CONST_STRING(interp, "Key"))
- || VTABLE_isa(interp, init_data, CONST_STRING(interp, "ResizableStringArray"))) {
+ if (VTABLE_isa(INTERP, init_data, CONST_STRING(INTERP, "String"))
+ || VTABLE_isa(INTERP, init_data, CONST_STRING(INTERP, "Key"))
+ || VTABLE_isa(INTERP, init_data, CONST_STRING(INTERP, "ResizableStringArray"))) {
/* set only the name property */
- arg = Parrot_pmc_new(interp, enum_class_Hash);
- VTABLE_set_pmc_keyed_str(interp, arg, name_str, init_data);
+ arg = Parrot_pmc_new(INTERP, enum_class_Hash);
+ VTABLE_set_pmc_keyed_str(INTERP, arg, name_str, init_data);
}
- if (VTABLE_isa(interp, init_data, CONST_STRING(interp, "Hash")))
+ if (VTABLE_isa(INTERP, init_data, CONST_STRING(INTERP, "Hash")))
arg = init_data;
else
Parrot_ex_throw_from_c_args(INTERP, NULL,
@@ -654,7 +654,7 @@
}
/* Initialize the class with the supplied data. */
- init_class_from_hash(interp, SELF, arg);
+ init_class_from_hash(INTERP, SELF, arg);
}
/*
@@ -668,7 +668,7 @@
*/
VTABLE STRING *get_string() {
- return make_class_name(interp, SELF);
+ return make_class_name(INTERP, SELF);
}
/*
@@ -683,20 +683,20 @@
VTABLE void mark() {
Parrot_Class_attributes * const _class = PARROT_CLASS(SELF);
- Parrot_gc_mark_STRING_alive(interp, _class->name);
- Parrot_gc_mark_STRING_alive(interp, _class->fullname);
- Parrot_gc_mark_PMC_alive(interp, _class->_namespace);
- Parrot_gc_mark_PMC_alive(interp, _class->parents);
- Parrot_gc_mark_PMC_alive(interp, _class->all_parents);
- Parrot_gc_mark_PMC_alive(interp, _class->roles);
- Parrot_gc_mark_PMC_alive(interp, _class->methods);
- Parrot_gc_mark_PMC_alive(interp, _class->vtable_overrides);
- Parrot_gc_mark_PMC_alive(interp, _class->parent_overrides);
- Parrot_gc_mark_PMC_alive(interp, _class->attrib_metadata);
- Parrot_gc_mark_PMC_alive(interp, _class->attrib_index);
- Parrot_gc_mark_PMC_alive(interp, _class->attrib_cache);
- Parrot_gc_mark_PMC_alive(interp, _class->resolve_method);
- Parrot_gc_mark_PMC_alive(interp, _class->meth_cache);
+ Parrot_gc_mark_STRING_alive(INTERP, _class->name);
+ Parrot_gc_mark_STRING_alive(INTERP, _class->fullname);
+ Parrot_gc_mark_PMC_alive(INTERP, _class->_namespace);
+ Parrot_gc_mark_PMC_alive(INTERP, _class->parents);
+ Parrot_gc_mark_PMC_alive(INTERP, _class->all_parents);
+ Parrot_gc_mark_PMC_alive(INTERP, _class->roles);
+ Parrot_gc_mark_PMC_alive(INTERP, _class->methods);
+ Parrot_gc_mark_PMC_alive(INTERP, _class->vtable_overrides);
+ Parrot_gc_mark_PMC_alive(INTERP, _class->parent_overrides);
+ Parrot_gc_mark_PMC_alive(INTERP, _class->attrib_metadata);
+ Parrot_gc_mark_PMC_alive(INTERP, _class->attrib_index);
+ Parrot_gc_mark_PMC_alive(INTERP, _class->attrib_cache);
+ Parrot_gc_mark_PMC_alive(INTERP, _class->resolve_method);
+ Parrot_gc_mark_PMC_alive(INTERP, _class->meth_cache);
}
@@ -715,27 +715,27 @@
VTABLE void add_attribute(STRING *name, PMC *type) {
Parrot_Class_attributes * const _class = PARROT_CLASS(SELF);
- PMC * const new_attribute = Parrot_pmc_new(interp, enum_class_Hash);
+ PMC * const new_attribute = Parrot_pmc_new(INTERP, enum_class_Hash);
/* If we've been instantiated already, not allowed. */
if (_class->instantiated)
- Parrot_ex_throw_from_c_args(interp, NULL, EXCEPTION_INVALID_OPERATION,
+ Parrot_ex_throw_from_c_args(INTERP, NULL, EXCEPTION_INVALID_OPERATION,
"Modifications to classes are not allowed after instantiation.");
/* If we already have an attribute of this name, it's an error. */
- if (VTABLE_exists_keyed_str(interp, _class->attrib_metadata, name))
- Parrot_ex_throw_from_c_args(interp, NULL, EXCEPTION_INVALID_OPERATION,
+ if (VTABLE_exists_keyed_str(INTERP, _class->attrib_metadata, name))
+ Parrot_ex_throw_from_c_args(INTERP, NULL, EXCEPTION_INVALID_OPERATION,
"Attribute '%Ss' already exists in '%Ss'.", name,
VTABLE_get_string(INTERP, SELF));
/* Set name and type. */
- VTABLE_set_string_keyed_str(interp, new_attribute, CONST_STRING(interp, "name"), name);
+ VTABLE_set_string_keyed_str(INTERP, new_attribute, CONST_STRING(INTERP, "name"), name);
if (!PMC_IS_NULL(type))
- VTABLE_set_pmc_keyed_str(interp, new_attribute, CONST_STRING(interp, "type"), type);
+ VTABLE_set_pmc_keyed_str(INTERP, new_attribute, CONST_STRING(INTERP, "type"), type);
/* Enter the attribute in the attrib_metadata table. */
- VTABLE_set_pmc_keyed_str(interp, _class->attrib_metadata, name,
+ VTABLE_set_pmc_keyed_str(INTERP, _class->attrib_metadata, name,
new_attribute);
}
@@ -756,19 +756,19 @@
/* If we've been instantiated already, not allowed. */
if (_class->instantiated)
- Parrot_ex_throw_from_c_args(interp, NULL, EXCEPTION_INVALID_OPERATION,
+ Parrot_ex_throw_from_c_args(INTERP, NULL, EXCEPTION_INVALID_OPERATION,
"Modifications to classes are not allowed after instantiation.");
/* If we don't have an attribute of this name, it's an error. */
- if (!VTABLE_exists_keyed_str(interp, _class->attrib_metadata, name))
- Parrot_ex_throw_from_c_args(interp, NULL, EXCEPTION_INVALID_OPERATION,
+ if (!VTABLE_exists_keyed_str(INTERP, _class->attrib_metadata, name))
+ Parrot_ex_throw_from_c_args(INTERP, NULL, EXCEPTION_INVALID_OPERATION,
"Attribute '%Ss' cannot be removed, does not exist in '%Ss'.", name,
VTABLE_get_string(INTERP, SELF));
/* Remove the attribute from the attrib_metadata table. */
- VTABLE_delete_keyed_str(interp, _class->attrib_metadata, name);
+ VTABLE_delete_keyed_str(INTERP, _class->attrib_metadata, name);
- build_attrib_index(interp, SELF);
+ build_attrib_index(INTERP, SELF);
}
/*
@@ -783,21 +783,21 @@
VTABLE void add_method(STRING *name, PMC *sub) {
Parrot_Class_attributes * const _class = PARROT_CLASS(SELF);
PMC * const method =
- VTABLE_get_pmc_keyed_str(interp, _class->methods, name);
+ VTABLE_get_pmc_keyed_str(INTERP, _class->methods, name);
/* If we have already added a method with this name... */
if (!PMC_IS_NULL(method)) {
if (method == sub)
return;
- Parrot_ex_throw_from_c_args(interp, NULL, EXCEPTION_INVALID_OPERATION,
+ Parrot_ex_throw_from_c_args(INTERP, NULL, EXCEPTION_INVALID_OPERATION,
"A method named '%S' already exists in class '%S'. "
"It may have been supplied by a role.",
- name, VTABLE_get_string(interp, SELF));
+ name, VTABLE_get_string(INTERP, SELF));
}
/* Enter it into the table. */
- VTABLE_set_pmc_keyed_str(interp, _class->methods, name, sub);
+ VTABLE_set_pmc_keyed_str(INTERP, _class->methods, name, sub);
}
/*
@@ -811,12 +811,12 @@
*/
VTABLE void remove_method(STRING *name) {
Parrot_Class_attributes * const _class = PARROT_CLASS(SELF);
- if (VTABLE_exists_keyed_str(interp, _class->methods, name))
- VTABLE_delete_keyed_str(interp, _class->methods, name);
+ if (VTABLE_exists_keyed_str(INTERP, _class->methods, name))
+ VTABLE_delete_keyed_str(INTERP, _class->methods, name);
else
- Parrot_ex_throw_from_c_args(interp, NULL, EXCEPTION_INVALID_OPERATION,
+ Parrot_ex_throw_from_c_args(INTERP, NULL, EXCEPTION_INVALID_OPERATION,
"No method named '%S' to remove in class '%S'.",
- name, VTABLE_get_string(interp, SELF));
+ name, VTABLE_get_string(INTERP, SELF));
}
/*
@@ -831,28 +831,28 @@
VTABLE void add_vtable_override(STRING *name, PMC *sub) {
Parrot_Class_attributes * const _class = PARROT_CLASS(SELF);
PMC * const vtable =
- VTABLE_get_pmc_keyed_str(interp, _class->vtable_overrides, name);
+ VTABLE_get_pmc_keyed_str(INTERP, _class->vtable_overrides, name);
/* If we have already added a vtable override with this name... */
if (!PMC_IS_NULL(vtable)) {
if (vtable == sub)
return;
- Parrot_ex_throw_from_c_args(interp, NULL,
+ Parrot_ex_throw_from_c_args(INTERP, NULL,
EXCEPTION_INVALID_OPERATION,
"A vtable override named '%S' already exists in class '%S'. "
"It may have been supplied by a role.",
- name, VTABLE_get_string(interp, SELF));
+ name, VTABLE_get_string(INTERP, SELF));
}
/* Check that the name is actually valid as a vtable override */
- if (Parrot_get_vtable_index(interp, name) == -1)
- Parrot_ex_throw_from_c_args(interp, NULL,
+ if (Parrot_get_vtable_index(INTERP, name) == -1)
+ Parrot_ex_throw_from_c_args(INTERP, NULL,
EXCEPTION_METHOD_NOT_FOUND,
"'%S' is not a valid vtable function name.", name);
/* Add it to vtable list. */
- VTABLE_set_pmc_keyed_str(interp, _class->vtable_overrides, name, sub);
+ VTABLE_set_pmc_keyed_str(INTERP, _class->vtable_overrides, name, sub);
}
/*
@@ -870,59 +870,59 @@
/* If we've been instantiated already, not allowed. */
if (_class->instantiated)
- Parrot_ex_throw_from_c_args(interp, NULL,
+ Parrot_ex_throw_from_c_args(INTERP, NULL,
EXCEPTION_INVALID_OPERATION,
"Modifications to classes are not allowed after instantiation.");
/* Ensure it really is a class. */
if (!PObj_is_class_TEST(parent))
- Parrot_ex_throw_from_c_args(interp, NULL,
+ Parrot_ex_throw_from_c_args(INTERP, NULL,
EXCEPTION_INVALID_OPERATION, "Parent isn't a Class.");
/* Check is not self */
if (parent == SELF)
- Parrot_ex_throw_from_c_args(interp, NULL,
+ Parrot_ex_throw_from_c_args(INTERP, NULL,
EXCEPTION_INVALID_OPERATION, "Can't be own parent");
/* get number of direct parents */
- parent_count = VTABLE_elements(interp, _class->parents);
+ parent_count = VTABLE_elements(INTERP, _class->parents);
/* iterate over all direct parents, check whether this class already has
* the parent being added. */
- for (index = 0; index < parent_count; index++) {
+ for (index = 0; index < parent_count; ++index) {
/* get the next parent */
- PMC * const current_parent = VTABLE_get_pmc_keyed_int(interp,
+ PMC * const current_parent = VTABLE_get_pmc_keyed_int(INTERP,
_class->parents, index);
/* throw an exception if we already have this parent */
if (current_parent == parent)
- Parrot_ex_throw_from_c_args(interp, NULL,
+ Parrot_ex_throw_from_c_args(INTERP, NULL,
EXCEPTION_INVALID_OPERATION,
"The class '%S' already has a parent class '%S'. "
"It may have been supplied by a role.",
- VTABLE_get_string(interp, SELF),
- VTABLE_get_string(interp, parent));
+ VTABLE_get_string(INTERP, SELF),
+ VTABLE_get_string(INTERP, parent));
}
/* Check that none of the parents is self */
- parent_count = VTABLE_elements(interp, PARROT_CLASS(parent)->all_parents);
+ parent_count = VTABLE_elements(INTERP, PARROT_CLASS(parent)->all_parents);
- for (index = 0; index < parent_count; index++) {
+ for (index = 0; index < parent_count; ++index) {
/* get the next parent */
- PMC * const current_parent = VTABLE_get_pmc_keyed_int(interp,
+ PMC * const current_parent = VTABLE_get_pmc_keyed_int(INTERP,
PARROT_CLASS(parent)->all_parents, index);
if (current_parent == SELF)
- Parrot_ex_throw_from_c_args(interp, NULL,
+ Parrot_ex_throw_from_c_args(INTERP, NULL,
EXCEPTION_INVALID_OPERATION,
"Loop in class hierarchy: '%S' is an ancestor of '%S'.",
- VTABLE_get_string(interp, SELF),
- VTABLE_get_string(interp, parent));
+ VTABLE_get_string(INTERP, SELF),
+ VTABLE_get_string(INTERP, parent));
}
/* Add to the lists of our immediate parents and all parents. */
- VTABLE_push_pmc(interp, _class->parents, parent);
- calculate_mro(interp, SELF, parent_count + 1);
+ VTABLE_push_pmc(INTERP, _class->parents, parent);
+ calculate_mro(INTERP, SELF, parent_count + 1);
}
/*
@@ -942,34 +942,34 @@
/* If we've been instantiated already, not allowed. */
if (_class->instantiated)
- Parrot_ex_throw_from_c_args(interp, NULL,
+ Parrot_ex_throw_from_c_args(INTERP, NULL,
EXCEPTION_INVALID_OPERATION,
"Modifications to classes are not allowed after instantiation.");
/* Ensure it really is a class. */
if (!PObj_is_class_TEST(parent))
- Parrot_ex_throw_from_c_args(interp, NULL,
+ Parrot_ex_throw_from_c_args(INTERP, NULL,
EXCEPTION_INVALID_OPERATION, "Parent isn't a Class.");
/* get number of direct parents */
- parent_count = VTABLE_elements(interp, _class->parents);
+ parent_count = VTABLE_elements(INTERP, _class->parents);
/* iterate over all direct parents, looking for the parent to remove */
- for (index = 0; index < parent_count; index++) {
+ for (index = 0; index < parent_count; ++index) {
/* get the next parent */
- PMC * const current_parent = VTABLE_get_pmc_keyed_int(interp,
+ PMC * const current_parent = VTABLE_get_pmc_keyed_int(INTERP,
_class->parents, index);
if (current_parent == parent)
break;
}
if (index >= parent_count)
- Parrot_ex_throw_from_c_args(interp, NULL,
+ Parrot_ex_throw_from_c_args(INTERP, NULL,
EXCEPTION_INVALID_OPERATION,
"Can't remove_parent: is not a parent.");
- VTABLE_delete_keyed_int(interp, _class->parents, index);
- calculate_mro(interp, SELF, parent_count - 1);
+ VTABLE_delete_keyed_int(INTERP, _class->parents, index);
+ calculate_mro(INTERP, SELF, parent_count - 1);
}
/*
@@ -986,7 +986,7 @@
const Parrot_Class_attributes * const _class = PARROT_CLASS(SELF);
/* Do the composition. */
- Parrot_ComposeRole(interp, role,
+ Parrot_ComposeRole(INTERP, role,
_class->resolve_method, !PMC_IS_NULL(_class->resolve_method),
PMCNULL, 0, _class->methods, _class->roles);
}
@@ -1037,46 +1037,44 @@
/* What should we return? */
PMC *found;
- if (Parrot_str_equal(interp, what, CONST_STRING(interp, "attributes"))) {
+ if (Parrot_str_equal(INTERP, what, CONST_STRING(INTERP, "attributes"))) {
found = _class->attrib_metadata;
}
- else if (Parrot_str_equal(interp, what, CONST_STRING(interp, "parents"))) {
+ else if (Parrot_str_equal(INTERP, what, CONST_STRING(INTERP, "parents"))) {
found = _class->parents;
}
- else if (Parrot_str_equal(interp, what, CONST_STRING(interp, "name"))) {
- found = Parrot_pmc_new(interp, enum_class_String);
- VTABLE_set_string_native(interp, found, _class->name);
- }
- else if (Parrot_str_equal(interp, what, CONST_STRING(interp, "id"))) {
- found = Parrot_pmc_new(interp, enum_class_Integer);
- VTABLE_set_integer_native(interp, found, _class->id);
+ else if (Parrot_str_equal(INTERP, what, CONST_STRING(INTERP, "name"))) {
+ found = Parrot_pmc_new(INTERP, enum_class_String);
+ VTABLE_set_string_native(INTERP, found, _class->name);
}
- else if (Parrot_str_equal(interp, what, CONST_STRING(interp, "namespace"))) {
+ else if (Parrot_str_equal(INTERP, what, CONST_STRING(INTERP, "id"))) {
+ found = Parrot_pmc_new_init_int(INTERP, enum_class_Integer, _class->id);
+ }
+ else if (Parrot_str_equal(INTERP, what, CONST_STRING(INTERP, "namespace"))) {
/* Should not clone this. */
return _class->_namespace;
}
- else if (Parrot_str_equal(interp, what, CONST_STRING(interp, "attrib_index"))) {
+ else if (Parrot_str_equal(INTERP, what, CONST_STRING(INTERP, "attrib_index"))) {
found = _class->attrib_index;
}
- else if (Parrot_str_equal(interp, what, CONST_STRING(interp, "methods"))) {
+ else if (Parrot_str_equal(INTERP, what, CONST_STRING(INTERP, "methods"))) {
found = _class->methods;
}
- else if (Parrot_str_equal(interp, what, CONST_STRING(interp, "vtable_overrides"))) {
+ else if (Parrot_str_equal(INTERP, what, CONST_STRING(INTERP, "vtable_overrides"))) {
found = _class->vtable_overrides;
}
- else if (Parrot_str_equal(interp, what, CONST_STRING(interp, "all_parents"))) {
+ else if (Parrot_str_equal(INTERP, what, CONST_STRING(INTERP, "all_parents"))) {
found = _class->all_parents;
}
- else if (Parrot_str_equal(interp, what, CONST_STRING(interp, "roles"))) {
+ else if (Parrot_str_equal(INTERP, what, CONST_STRING(INTERP, "roles"))) {
found = _class->roles;
}
- else if (Parrot_str_equal(interp, what, CONST_STRING(interp, "flags"))) {
- found = Parrot_pmc_new(interp, enum_class_Integer);
- VTABLE_set_integer_native(interp, found,
+ else if (Parrot_str_equal(INTERP, what, CONST_STRING(INTERP, "flags"))) {
+ found = Parrot_pmc_new_init_int(INTERP, enum_class_Integer,
(INTVAL)PObj_get_FLAGS(SELF));
}
else
- Parrot_ex_throw_from_c_args(interp, NULL, EXCEPTION_INVALID_OPERATION,
+ Parrot_ex_throw_from_c_args(INTERP, NULL, EXCEPTION_INVALID_OPERATION,
"Unknown introspection value '%S'", what);
/* return found value */
@@ -1086,18 +1084,18 @@
if (found->vtable->base_type == enum_class_Hash) {
/* for Hash return values, create and return a shallow
* clone because the VTABLE_clone does a deep clone */
- PMC * const hash = Parrot_pmc_new(interp, enum_class_Hash);
- PMC * const iter = VTABLE_get_iter(interp, found);
- while (VTABLE_get_bool(interp, iter)) {
- STRING * const key = VTABLE_shift_string(interp, iter);
- PMC * const value = VTABLE_get_pmc_keyed_str(interp, found, key);
- VTABLE_set_pmc_keyed_str(interp, hash, key, value);
+ PMC * const hash = Parrot_pmc_new(INTERP, enum_class_Hash);
+ PMC * const iter = VTABLE_get_iter(INTERP, found);
+ while (VTABLE_get_bool(INTERP, iter)) {
+ STRING * const key = VTABLE_shift_string(INTERP, iter);
+ PMC * const value = VTABLE_get_pmc_keyed_str(INTERP, found, key);
+ VTABLE_set_pmc_keyed_str(INTERP, hash, key, value);
}
return hash;
}
- return VTABLE_clone(interp, found);
+ return VTABLE_clone(INTERP, found);
}
/*
@@ -1113,35 +1111,35 @@
VTABLE PMC *inspect() {
/* Create a hash, then use inspect_str to get all of the data to
* fill it up with. */
- PMC * const metadata = Parrot_pmc_new(interp, enum_class_Hash);
- STRING * const name_str = CONST_STRING(interp, "name");
- STRING * const ns_str = CONST_STRING(interp, "namespace");
- STRING * const attrs_str = CONST_STRING(interp, "attributes");
- STRING * const meths_str = CONST_STRING(interp, "methods");
- STRING * const parents_str = CONST_STRING(interp, "parents");
- STRING * const roles_str = CONST_STRING(interp, "roles");
- STRING * const flags_str = CONST_STRING(interp, "flags");
-
- VTABLE_set_pmc_keyed_str(interp, metadata, name_str,
- VTABLE_inspect_str(interp, SELF, name_str));
-
- VTABLE_set_pmc_keyed_str(interp, metadata, ns_str,
- VTABLE_inspect_str(interp, SELF, ns_str));
-
- VTABLE_set_pmc_keyed_str(interp, metadata, attrs_str,
- VTABLE_inspect_str(interp, SELF, attrs_str));
-
- VTABLE_set_pmc_keyed_str(interp, metadata, meths_str,
- VTABLE_inspect_str(interp, SELF, meths_str));
+ PMC * const metadata = Parrot_pmc_new(INTERP, enum_class_Hash);
+ STRING * const name_str = CONST_STRING(INTERP, "name");
+ STRING * const ns_str = CONST_STRING(INTERP, "namespace");
+ STRING * const attrs_str = CONST_STRING(INTERP, "attributes");
+ STRING * const meths_str = CONST_STRING(INTERP, "methods");
+ STRING * const parents_str = CONST_STRING(INTERP, "parents");
+ STRING * const roles_str = CONST_STRING(INTERP, "roles");
+ STRING * const flags_str = CONST_STRING(INTERP, "flags");
+
+ VTABLE_set_pmc_keyed_str(INTERP, metadata, name_str,
+ VTABLE_inspect_str(INTERP, SELF, name_str));
+
+ VTABLE_set_pmc_keyed_str(INTERP, metadata, ns_str,
+ VTABLE_inspect_str(INTERP, SELF, ns_str));
+
+ VTABLE_set_pmc_keyed_str(INTERP, metadata, attrs_str,
+ VTABLE_inspect_str(INTERP, SELF, attrs_str));
+
+ VTABLE_set_pmc_keyed_str(INTERP, metadata, meths_str,
+ VTABLE_inspect_str(INTERP, SELF, meths_str));
- VTABLE_set_pmc_keyed_str(interp, metadata, parents_str,
- VTABLE_inspect_str(interp, SELF, parents_str));
+ VTABLE_set_pmc_keyed_str(INTERP, metadata, parents_str,
+ VTABLE_inspect_str(INTERP, SELF, parents_str));
- VTABLE_set_pmc_keyed_str(interp, metadata, roles_str,
- VTABLE_inspect_str(interp, SELF, roles_str));
+ VTABLE_set_pmc_keyed_str(INTERP, metadata, roles_str,
+ VTABLE_inspect_str(INTERP, SELF, roles_str));
- VTABLE_set_pmc_keyed_str(interp, metadata, flags_str,
- VTABLE_inspect_str(interp, SELF, flags_str));
+ VTABLE_set_pmc_keyed_str(INTERP, metadata, flags_str,
+ VTABLE_inspect_str(INTERP, SELF, flags_str));
return metadata;
}
@@ -1170,18 +1168,18 @@
Parrot_Class_attributes * const new_class = PARROT_CLASS(copy);
- new_class->name = CONST_STRING(interp, "");
+ new_class->name = CONST_STRING(INTERP, "");
new_class->_namespace = PMCNULL;
- new_class->parents = VTABLE_clone(interp, _class->parents);
- new_class->roles = VTABLE_clone(interp, _class->roles);
- new_class->methods = VTABLE_clone(interp, _class->methods);
- new_class->vtable_overrides = VTABLE_clone(interp,
+ new_class->parents = VTABLE_clone(INTERP, _class->parents);
+ new_class->roles = VTABLE_clone(INTERP, _class->roles);
+ new_class->methods = VTABLE_clone(INTERP, _class->methods);
+ new_class->vtable_overrides = VTABLE_clone(INTERP,
_class->vtable_overrides);
- new_class->parent_overrides = VTABLE_clone(interp,
+ new_class->parent_overrides = VTABLE_clone(INTERP,
_class->parent_overrides);
- new_class->attrib_metadata = VTABLE_clone(interp,
+ new_class->attrib_metadata = VTABLE_clone(INTERP,
_class->attrib_metadata);
- new_class->resolve_method = VTABLE_clone(interp,
+ new_class->resolve_method = VTABLE_clone(INTERP,
_class->resolve_method);
/* Return cloned class. */
@@ -1205,7 +1203,7 @@
/* Do the standard clone. */
PMC * const copy = SELF.clone();
- init_class_from_hash(interp, copy, args);
+ init_class_from_hash(INTERP, copy, args);
return copy;
}
@@ -1227,39 +1225,39 @@
/* If we've not been instantiated before... */
if (!_class->instantiated) {
/* Check that we have all methods listed in resolve list. */
- const int resolve_count = VTABLE_elements(interp,
+ const int resolve_count = VTABLE_elements(INTERP,
_class->resolve_method);
- const INTVAL cur_hll = Parrot_pcc_get_HLL(interp, CURRENT_CONTEXT(interp));
- const INTVAL num_parents = VTABLE_elements(interp, _class->parents);
+ const INTVAL cur_hll = Parrot_pcc_get_HLL(INTERP, CURRENT_CONTEXT(INTERP));
+ const INTVAL num_parents = VTABLE_elements(INTERP, _class->parents);
INTVAL mro_length;
int i;
/* don't use HLL mappings for internal-only data */
- Parrot_pcc_set_HLL(interp, CURRENT_CONTEXT(interp), 0);
+ Parrot_pcc_set_HLL(INTERP, CURRENT_CONTEXT(INTERP), 0);
- for (i = 0; i < resolve_count; i++) {
+ for (i = 0; i < resolve_count; ++i) {
STRING * const check_meth =
- VTABLE_get_string_keyed_int(interp, _class->resolve_method, i);
- if (!VTABLE_exists_keyed_str(interp, _class->methods, check_meth))
- Parrot_ex_throw_from_c_args(interp, NULL,
+ VTABLE_get_string_keyed_int(INTERP, _class->resolve_method, i);
+ if (!VTABLE_exists_keyed_str(INTERP, _class->methods, check_meth))
+ Parrot_ex_throw_from_c_args(INTERP, NULL,
EXCEPTION_METHOD_NOT_FOUND, "The method '%S' was named "
"in the resolve list, but not supplied", check_meth);
}
/* Build full parents list.
* TT #1256: Need pluggable MRO, for now always do C3. */
- calculate_mro(interp, SELF, num_parents);
- build_attrib_index(interp, SELF);
+ calculate_mro(INTERP, SELF, num_parents);
+ build_attrib_index(INTERP, SELF);
if (PMC_IS_NULL(_class->attrib_index))
return PMCNULL;
/* See if we have any parents from other universes and if so set a
* flag stating so. */
- mro_length = VTABLE_elements(interp, _class->all_parents);
+ mro_length = VTABLE_elements(INTERP, _class->all_parents);
- for (i = 0; i < mro_length; i++) {
- PMC * const class_check = VTABLE_get_pmc_keyed_int(interp,
+ for (i = 0; i < mro_length; ++i) {
+ PMC * const class_check = VTABLE_get_pmc_keyed_int(INTERP,
_class->all_parents, i);
if (class_check->vtable->base_type != enum_class_Class) {
/* Found one; that's enough. */
@@ -1268,14 +1266,14 @@
}
}
- Parrot_pcc_set_HLL(interp, CURRENT_CONTEXT(interp), cur_hll);
+ Parrot_pcc_set_HLL(INTERP, CURRENT_CONTEXT(INTERP), cur_hll);
}
/* Set instantiated flag. */
_class->instantiated = 1;
/* Create object. */
- object = Parrot_pmc_new_noinit(interp, enum_class_Object);
+ object = Parrot_pmc_new_noinit(INTERP, enum_class_Object);
/* Set custom GC mark and destroy on the object. */
PObj_custom_mark_destroy_SETALL(object);
@@ -1291,28 +1289,28 @@
Parrot_Object_attributes * const objattr =
PMC_data_typed(object, Parrot_Object_attributes *);
objattr->_class = SELF;
- objattr->attrib_store = Parrot_pmc_new(interp, enum_class_ResizablePMCArray);
+ objattr->attrib_store = Parrot_pmc_new(INTERP, enum_class_ResizablePMCArray);
}
if (!PMC_IS_NULL(init)) {
/* Initialize attributes with the supplied values. */
- PMC * const iter = VTABLE_get_iter(interp, init);
+ PMC * const iter = VTABLE_get_iter(INTERP, init);
- while (VTABLE_get_bool(interp, iter)) {
- STRING * const name = VTABLE_shift_string(interp, iter);
- PMC * const value = VTABLE_get_pmc_keyed_str(interp, init,
+ while (VTABLE_get_bool(INTERP, iter)) {
+ STRING * const name = VTABLE_shift_string(INTERP, iter);
+ PMC * const value = VTABLE_get_pmc_keyed_str(INTERP, init,
name);
/* Set the attribute. */
- VTABLE_set_attr_str(interp, object, name, value);
+ VTABLE_set_attr_str(INTERP, object, name, value);
}
/* Check for overrides on the init_pmc vtable function */
- initialize_parents_pmc(interp, object, _class->all_parents, init);
+ initialize_parents_pmc(INTERP, object, _class->all_parents, init);
}
else
/* Check for overrides on the init vtable function */
- initialize_parents(interp, object, _class->all_parents);
+ initialize_parents(INTERP, object, _class->all_parents);
return object;
}
@@ -1339,13 +1337,13 @@
if (PObj_is_class_TEST(lookup) && lookup == SELF)
return 1;
- classobj = Parrot_oo_get_class(interp, lookup);
+ classobj = Parrot_oo_get_class(INTERP, lookup);
if (PMC_IS_NULL(classobj))
return 0;
/* Check if the class object is the same as self's class object */
- if (VTABLE_is_same(interp, SELF, classobj))
+ if (VTABLE_is_same(INTERP, SELF, classobj))
return 1;
/* this is effectively what the default PMC's isa_pmc does
@@ -1353,26 +1351,26 @@
* only in these two, very specific and common cases */
if (classobj->vtable->base_type == enum_class_Class
|| classobj->vtable->base_type == enum_class_PMCProxy) {
- STRING *classname = make_class_name(interp, classobj);
+ STRING *classname = make_class_name(INTERP, classobj);
- if (Parrot_str_equal(interp, SELF->vtable->whoami, classname))
+ if (Parrot_str_equal(INTERP, SELF->vtable->whoami, classname))
return 1;
if (SELF->vtable->isa_hash
- && parrot_hash_exists(interp, SELF->vtable->isa_hash,
+ && parrot_hash_exists(INTERP, SELF->vtable->isa_hash,
(void *)classname))
return 1;
}
/* Iterate over all the parents and check if they respond true
* for 'isa' on the original comparison. */
- num_classes = VTABLE_elements(interp, _class->parents);
+ num_classes = VTABLE_elements(INTERP, _class->parents);
- for (i = 0; i < num_classes; i++) {
- PMC * const cur_class = VTABLE_get_pmc_keyed_int(interp,
+ for (i = 0; i < num_classes; ++i) {
+ PMC * const cur_class = VTABLE_get_pmc_keyed_int(INTERP,
_class->parents, i);
- if (VTABLE_isa_pmc(interp, cur_class, lookup))
+ if (VTABLE_isa_pmc(INTERP, cur_class, lookup))
return 1;
}
@@ -1393,10 +1391,10 @@
PMC *want_class;
/* hard-code this one exception right away */
- if (Parrot_str_equal(interp, classname, CONST_STRING(interp, "Class")))
+ if (Parrot_str_equal(INTERP, classname, CONST_STRING(INTERP, "Class")))
return 1;
- want_class = Parrot_oo_get_class_str(interp, classname);
+ want_class = Parrot_oo_get_class_str(INTERP, classname);
if (PMC_IS_NULL(want_class))
return 0;
@@ -1404,7 +1402,7 @@
if (SELF == want_class)
return 1;
- return VTABLE_isa_pmc(interp, SELF, want_class);
+ return VTABLE_isa_pmc(INTERP, SELF, want_class);
}
/*
@@ -1424,28 +1422,28 @@
if (!role_list)
return 0;
- count = VTABLE_elements(interp, role_list);
+ count = VTABLE_elements(INTERP, role_list);
- for (i = 0; i < count; i++) {
- PMC * const role = VTABLE_get_pmc_keyed_int(interp, role_list, i);
+ for (i = 0; i < count; ++i) {
+ PMC * const role = VTABLE_get_pmc_keyed_int(INTERP, role_list, i);
- if (VTABLE_does(interp, role, role_name))
+ if (VTABLE_does(INTERP, role, role_name))
return 1;
}
/* Iterate over all the parents and check if they respond true
* for 'does' on the original comparison. */
- count = VTABLE_elements(interp, _class->parents);
+ count = VTABLE_elements(INTERP, _class->parents);
- for (i = 0; i < count; i++) {
- PMC * const cur_class = VTABLE_get_pmc_keyed_int(interp,
+ for (i = 0; i < count; ++i) {
+ PMC * const cur_class = VTABLE_get_pmc_keyed_int(INTERP,
_class->parents, i);
- if (VTABLE_does(interp, cur_class, role_name))
+ if (VTABLE_does(INTERP, cur_class, role_name))
return 1;
}
- return VTABLE_isa(interp, SELF, role_name);
+ return VTABLE_isa(INTERP, SELF, role_name);
}
/*
@@ -1465,27 +1463,27 @@
if (!role_list)
return 0;
- role_count = VTABLE_elements(interp, role_list);
+ role_count = VTABLE_elements(INTERP, role_list);
- for (i = 0; i < role_count; i++) {
- PMC * const test_role = VTABLE_get_pmc_keyed_int(interp, role_list, i);
- if (VTABLE_does_pmc(interp, test_role, role))
+ for (i = 0; i < role_count; ++i) {
+ PMC * const test_role = VTABLE_get_pmc_keyed_int(INTERP, role_list, i);
+ if (VTABLE_does_pmc(INTERP, test_role, role))
return 1;
}
/* Iterate over all the parents and check if they respond true
* for 'does' on the original comparison. */
- count = VTABLE_elements(interp, _class->parents);
+ count = VTABLE_elements(INTERP, _class->parents);
- for (i = 0; i < count; i++) {
- PMC * const cur_class = VTABLE_get_pmc_keyed_int(interp,
+ for (i = 0; i < count; ++i) {
+ PMC * const cur_class = VTABLE_get_pmc_keyed_int(INTERP,
_class->parents, i);
- if (VTABLE_does_pmc(interp, cur_class, role))
+ if (VTABLE_does_pmc(INTERP, cur_class, role))
return 1;
}
- return VTABLE_isa_pmc(interp, SELF, role);
+ return VTABLE_isa_pmc(INTERP, SELF, role);
}
/*
@@ -1547,7 +1545,7 @@
VTABLE void freeze(PMC *info) {
Parrot_Class_attributes * const class_data = PARROT_CLASS(SELF);
- STRING *serial_namespace = CONST_STRING(interp, "");
+ STRING *serial_namespace = CONST_STRING(INTERP, "");
/* 1) freeze class id */
VTABLE_push_integer(INTERP, info, class_data->id);
@@ -1557,10 +1555,10 @@
/* 3) serialize namespace name, including HLL */
if (!PMC_IS_NULL(class_data->_namespace)) {
- PMC * const names = Parrot_ns_get_name(interp,
+ PMC * const names = Parrot_ns_get_name(INTERP,
class_data->_namespace);
if (!PMC_IS_NULL(names))
- serial_namespace = Parrot_str_join(interp, CONST_STRING(interp, ";"), names);
+ serial_namespace = Parrot_str_join(INTERP, CONST_STRING(INTERP, ";"), names);
}
VTABLE_push_string(INTERP, info, serial_namespace);
}
@@ -1591,13 +1589,13 @@
STRING * const semicolon_str = CONST_STRING(INTERP, ";");
PMC * const namespace_array =
Parrot_str_split(INTERP, semicolon_str, serial_namespace);
- PMC *ns = Parrot_get_namespace_keyed(interp,
+ PMC *ns = Parrot_get_namespace_keyed(INTERP,
INTERP->root_namespace, namespace_array);
/* If the namespace doesn't exist, we create it, and initialize
* ourselves in it */
if (PMC_IS_NULL(ns)) {
- ns = Parrot_make_namespace_keyed(interp,
+ ns = Parrot_make_namespace_keyed(INTERP,
INTERP->root_namespace, namespace_array);
SELF.init_pmc(ns);
}
@@ -1646,11 +1644,11 @@
UNUSED(info)
/* Recalculate full MRO from thawed parents */
- _class->all_parents = Parrot_ComputeMRO_C3(interp, SELF);
- _class->parent_overrides = Parrot_pmc_new(interp, enum_class_Hash);
+ _class->all_parents = Parrot_ComputeMRO_C3(INTERP, SELF);
+ _class->parent_overrides = Parrot_pmc_new(INTERP, enum_class_Hash);
/* Rebuild attribute index from thawed attribute metadata */
- build_attrib_index(interp, SELF);
+ build_attrib_index(INTERP, SELF);
}
/* **********************************************************************
@@ -1675,11 +1673,11 @@
if (has_name) {
/* We'll build a hash just containing the name, then give this to
* init_class_from_hash - saves some code duplication. */
- PMC * const naming_hash = Parrot_pmc_new(interp, enum_class_Hash);
- STRING * const name_str = CONST_STRING(interp, "name");
+ PMC * const naming_hash = Parrot_pmc_new(INTERP, enum_class_Hash);
+ STRING * const name_str = CONST_STRING(INTERP, "name");
- VTABLE_set_string_keyed_str(interp, naming_hash, name_str, name);
- init_class_from_hash(interp, SELF, naming_hash);
+ VTABLE_set_string_keyed_str(INTERP, naming_hash, name_str, name);
+ init_class_from_hash(INTERP, SELF, naming_hash);
}
ret_name = _class->name;
@@ -1739,9 +1737,9 @@
/* Check if any arguments are in the slurpy hash, don't pass an empty
* hash to instantiate */
PMC * const obj =
- VTABLE_elements(interp, args) > 0
- ? VTABLE_instantiate(interp, SELF, args)
- : VTABLE_instantiate(interp, SELF, PMCNULL);
+ VTABLE_elements(INTERP, args) > 0
+ ? VTABLE_instantiate(INTERP, SELF, args)
+ : VTABLE_instantiate(INTERP, SELF, PMCNULL);
RETURN(PMC *obj);
}
@@ -1757,7 +1755,7 @@
*/
METHOD attributes() {
- STRING * const attr_str = CONST_STRING(interp, "attributes");
+ STRING * const attr_str = CONST_STRING(INTERP, "attributes");
PMC * const ret_attrib_metadata = SELF.inspect_str(attr_str);
RETURN(PMC *ret_attrib_metadata);
@@ -1788,7 +1786,7 @@
*/
METHOD methods() {
- PMC * const ret_methods = SELF.inspect_str(CONST_STRING(interp, "methods"));
+ PMC * const ret_methods = SELF.inspect_str(CONST_STRING(INTERP, "methods"));
RETURN(PMC *ret_methods);
}
@@ -1818,7 +1816,7 @@
*/
METHOD add_vtable_override(STRING *name, PMC *sub) {
- VTABLE_add_vtable_override(interp, SELF, name, sub);
+ VTABLE_add_vtable_override(INTERP, SELF, name, sub);
}
/*
@@ -1831,7 +1829,7 @@
*/
METHOD remove_method(STRING *name) {
- VTABLE_remove_method(interp, SELF, name);
+ VTABLE_remove_method(INTERP, SELF, name);
}
/*
@@ -1849,17 +1847,17 @@
int i;
/* Walk and search. One day, we'll use the cache first. */
- const int num_classes = VTABLE_elements(interp, _class->all_parents);
+ const int num_classes = VTABLE_elements(INTERP, _class->all_parents);
- for (i = 0; i < num_classes; i++) {
+ for (i = 0; i < num_classes; ++i) {
/* Get the class and see if it has the method. */
PMC * const cur_class =
- VTABLE_get_pmc_keyed_int(interp, _class->all_parents, i);
+ VTABLE_get_pmc_keyed_int(INTERP, _class->all_parents, i);
const Parrot_Class_attributes * const class_info = PARROT_CLASS(cur_class);
/* Found it! */
- if (VTABLE_exists_keyed_str(interp, class_info->methods, name)) {
- PMC * const ret = VTABLE_get_pmc_keyed_str(interp, class_info->methods, name);
+ if (VTABLE_exists_keyed_str(INTERP, class_info->methods, name)) {
+ PMC * const ret = VTABLE_get_pmc_keyed_str(INTERP, class_info->methods, name);
RETURN(PMC *ret);
}
}
@@ -1877,7 +1875,7 @@
*/
METHOD parents() {
- PMC * const ret_parents = SELF.inspect_str(CONST_STRING(interp, "parents"));
+ PMC * const ret_parents = SELF.inspect_str(CONST_STRING(INTERP, "parents"));
RETURN(PMC *ret_parents);
}
@@ -1905,7 +1903,7 @@
*/
METHOD roles() {
- PMC * const ret_roles = SELF.inspect_str(CONST_STRING(interp, "roles"));
+ PMC * const ret_roles = SELF.inspect_str(CONST_STRING(INTERP, "roles"));
RETURN(PMC *ret_roles);
}
@@ -1932,24 +1930,24 @@
* no exclude list, pass along the resolve list in its place if it has
* any methods listed in it. */
if (!has_exclude_method) {
- if (VTABLE_elements(interp, _class->resolve_method) != 0) {
+ if (VTABLE_elements(INTERP, _class->resolve_method) != 0) {
exclude_method = _class->resolve_method;
has_exclude_method = 1;
}
}
else {
- const int resolve_count = VTABLE_elements(interp, _class->resolve_method);
+ const int resolve_count = VTABLE_elements(INTERP, _class->resolve_method);
int i;
- for (i = 0; i < resolve_count; i++) {
- STRING * const meth_name = VTABLE_get_string_keyed_int(interp,
+ for (i = 0; i < resolve_count; ++i) {
+ STRING * const meth_name = VTABLE_get_string_keyed_int(INTERP,
_class->resolve_method, i);
- VTABLE_push_string(interp, exclude_method, meth_name);
+ VTABLE_push_string(INTERP, exclude_method, meth_name);
}
}
/* Do the composition. */
- Parrot_ComposeRole(interp, role, exclude_method, has_exclude_method,
+ Parrot_ComposeRole(INTERP, role, exclude_method, has_exclude_method,
alias_method, has_alias_method,
_class->methods, _class->roles);
}
@@ -2003,7 +2001,7 @@
*/
METHOD does(STRING *role_name) {
- const INTVAL does = VTABLE_does(interp, SELF, role_name);
+ const INTVAL does = VTABLE_does(INTERP, SELF, role_name);
RETURN(INTVAL does);
}
Modified: branches/codestring/src/pmc/complex.pmc
==============================================================================
--- branches/codestring/src/pmc/complex.pmc Mon May 3 13:16:49 2010 (r46234)
+++ branches/codestring/src/pmc/complex.pmc Mon May 3 14:39:34 2010 (r46235)
@@ -100,26 +100,26 @@
if (*t == '-') {
/* first number is negative */
- t++;
+ ++t;
first_num_minus = 1;
/* allow for an optional space */
if (*t == ' ')
- t++;
+ ++t;
first_num_offset = t;
}
/* skip digits */
while (*t >= '0' && *t <= '9')
- t++;
+ ++t;
if (*t == '.') {
/* this number has a decimal point */
- t++;
+ ++t;
/* skip digits */
while (*t >= '0' && *t <= '9')
- t++;
+ ++t;
}
/* save the length of the real part */
@@ -145,32 +145,32 @@
else {
/* skip an optional space */
if (*t == ' ')
- t++;
+ ++t;
/* expect "+" or "-" and the imaginary part */
if (*t == '+' || *t == '-') {
/* save the sign */
second_num_minus = (*t == '-');
- t++;
+ ++t;
/* skip another optional space */
if (*t == ' ')
- t++;
+ ++t;
/* save the beginning of the imaginary part */
second_num_offset = t;
/* skip digits */
while (*t >= '0' && *t <= '9')
- t++;
+ ++t;
if (*t == '.') {
/* this number has a decimal point */
- t++;
+ ++t;
/* skip digits */
while (*t >= '0' && *t <= '9')
- t++;
+ ++t;
}
/* save the length of the imaginary part */
@@ -178,7 +178,7 @@
/* allow for one more optional space */
if (*t == ' ')
- t++;
+ ++t;
/* verify that the string ends properly */
if ((*t != 'i' && *t != 'j') || (*(t+1) != 0)) {
Modified: branches/codestring/src/pmc/default.pmc
==============================================================================
--- branches/codestring/src/pmc/default.pmc Mon May 3 13:16:49 2010 (r46234)
+++ branches/codestring/src/pmc/default.pmc Mon May 3 14:39:34 2010 (r46235)
@@ -242,8 +242,8 @@
ASSERT_ARGS(propagate_std_props)
if (self->vtable->flags & (VTABLE_IS_CONST_FLAG | VTABLE_IS_READONLY_FLAG)){
- PMC * const pmc_true = Parrot_pmc_new(interp, enum_class_Integer);
- VTABLE_set_integer_native(interp, pmc_true, 1);
+ PMC * const pmc_true = Parrot_pmc_new_init_int(interp,
+ enum_class_Integer, 1);
VTABLE_set_pmc_keyed_str(interp, prop_hash, CONST_STRING(interp, "_ro"), pmc_true);
}
}
@@ -290,8 +290,8 @@
if ((self->vtable->flags & (VTABLE_IS_CONST_FLAG | VTABLE_IS_READONLY_FLAG))
&& Parrot_str_equal(interp, key, CONST_STRING(interp, "_ro"))) {
- PMC * const ret_val = Parrot_pmc_new(interp, enum_class_Integer);
- VTABLE_set_integer_native(interp, ret_val, 1);
+ PMC * const ret_val = Parrot_pmc_new_init_int(interp,
+ enum_class_Integer, 1);
return ret_val;
}
else
@@ -992,8 +992,7 @@
VTABLE PMC *inspect_str(STRING *name) {
if (Parrot_str_equal(interp, name, CONST_STRING(interp, "flags"))) {
- PMC *found = Parrot_pmc_new(interp, enum_class_Integer);
- VTABLE_set_integer_native(interp, found,
+ PMC *found = Parrot_pmc_new_init_int(interp, enum_class_Integer,
(INTVAL)PObj_get_FLAGS(SELF));
return found;
}
@@ -1043,10 +1042,7 @@
if (PMC_IS_NULL(_class)) {
const INTVAL type = VTABLE_type(interp, SELF);
- PMC * const type_num = Parrot_pmc_new(interp, enum_class_Integer);
-
- VTABLE_set_integer_native(interp, type_num, type);
- return Parrot_pmc_new_init(interp, enum_class_PMCProxy, type_num);
+ return Parrot_pmc_new_init_int(interp, enum_class_PMCProxy, type);
}
return _class;
Modified: branches/codestring/src/pmc/env.pmc
==============================================================================
--- branches/codestring/src/pmc/env.pmc Mon May 3 13:16:49 2010 (r46234)
+++ branches/codestring/src/pmc/env.pmc Mon May 3 14:39:34 2010 (r46235)
@@ -97,7 +97,7 @@
INTVAL rv = 0;
while (environ[rv] != NULL)
- rv++;
+ ++rv;
return rv;
}
Modified: branches/codestring/src/pmc/eval.pmc
==============================================================================
--- branches/codestring/src/pmc/eval.pmc Mon May 3 13:16:49 2010 (r46234)
+++ branches/codestring/src/pmc/eval.pmc Mon May 3 14:39:34 2010 (r46235)
@@ -73,7 +73,7 @@
if (!ct)
return;
- for (i = 0; i < ft->fixup_count; i++) {
+ for (i = 0; i < ft->fixup_count; ++i) {
PackFile_FixupEntry * const e = ft->fixups + i;
if (e->type == enum_fixup_sub) {
@@ -112,7 +112,7 @@
if (!ct)
return PMCNULL;
- for (i = n = 0; i < ft->fixup_count; i++) {
+ for (i = n = 0; i < ft->fixup_count; ++i) {
const PackFile_FixupEntry * const e = ft->fixups + i;
if (e->type == enum_fixup_sub) {
@@ -151,7 +151,7 @@
if (!ct)
return;
- for (i = 0; i < ft->fixup_count; i++) {
+ for (i = 0; i < ft->fixup_count; ++i) {
const PackFile_FixupEntry * const e = ft->fixups + i;
if (e->type == enum_fixup_sub) {
@@ -426,11 +426,11 @@
if (!ft)
return 0;
- for (i = n = 0; i < ft->fixup_count; i++) {
+ for (i = n = 0; i < ft->fixup_count; ++i) {
const PackFile_FixupEntry * const e = ft->fixups + i;
if (e->type == enum_fixup_sub)
- n++;
+ ++n;
}
return n;
Modified: branches/codestring/src/pmc/exception.pmc
==============================================================================
--- branches/codestring/src/pmc/exception.pmc Mon May 3 13:16:49 2010 (r46234)
+++ branches/codestring/src/pmc/exception.pmc Mon May 3 14:39:34 2010 (r46235)
@@ -545,26 +545,22 @@
if (Parrot_str_equal(INTERP, name, CONST_STRING(INTERP, "type"))) {
INTVAL type;
GET_ATTR_type(interp, SELF, type);
- value = Parrot_pmc_new(interp, enum_class_Integer);
- VTABLE_set_integer_native(interp, value, type);
+ value = Parrot_pmc_new_init_int(interp, enum_class_Integer, type);
}
else if (Parrot_str_equal(INTERP, name, CONST_STRING(INTERP, "severity"))) {
INTVAL severity;
GET_ATTR_severity(interp, SELF, severity);
- value = Parrot_pmc_new(interp, enum_class_Integer);
- VTABLE_set_integer_native(interp, value, severity);
+ value = Parrot_pmc_new_init_int(interp, enum_class_Integer, severity);
}
else if (Parrot_str_equal(INTERP, name, CONST_STRING(INTERP, "exit_code"))) {
INTVAL exit_code;
GET_ATTR_exit_code(interp, SELF, exit_code);
- value = Parrot_pmc_new(interp, enum_class_Integer);
- VTABLE_set_integer_native(interp, value, exit_code);
+ value = Parrot_pmc_new_init_int(interp, enum_class_Integer, exit_code);
}
else if (Parrot_str_equal(INTERP, name, CONST_STRING(INTERP, "handled"))) {
INTVAL handled;
GET_ATTR_handled(interp, SELF, handled);
- value = Parrot_pmc_new(interp, enum_class_Integer);
- VTABLE_set_integer_native(interp, value, handled);
+ value = Parrot_pmc_new_init_int(interp, enum_class_Integer, handled);
}
else if (Parrot_str_equal(INTERP, name, CONST_STRING(INTERP, "message"))) {
STRING *message = SELF.get_string();
Modified: branches/codestring/src/pmc/exceptionhandler.pmc
==============================================================================
--- branches/codestring/src/pmc/exceptionhandler.pmc Mon May 3 13:16:49 2010 (r46234)
+++ branches/codestring/src/pmc/exceptionhandler.pmc Mon May 3 14:39:34 2010 (r46235)
@@ -185,7 +185,7 @@
const INTVAL type = VTABLE_get_integer_keyed_str(interp, exception, CONST_STRING(interp, "type"));
INTVAL i;
- for (i = 0; i < elems; i++) {
+ for (i = 0; i < elems; ++i) {
INTVAL handled_type = VTABLE_get_integer_keyed_int(interp,
handled_types, i);
if (handled_type == type)
@@ -199,7 +199,7 @@
const INTVAL type = VTABLE_get_integer_keyed_str(interp, exception, CONST_STRING(interp, "type"));
INTVAL i;
- for (i = 0; i < elems; i++) {
+ for (i = 0; i < elems; ++i) {
const INTVAL handled_type = VTABLE_get_integer_keyed_int(interp,
handled_types_except, i);
if (handled_type == type)
Modified: branches/codestring/src/pmc/exporter.pmc
==============================================================================
--- branches/codestring/src/pmc/exporter.pmc Mon May 3 13:16:49 2010 (r46234)
+++ branches/codestring/src/pmc/exporter.pmc Mon May 3 14:39:34 2010 (r46235)
@@ -256,7 +256,7 @@
if (n == 0)
temp_globals = PMCNULL;
- for (i = 0; i < n; i++) {
+ for (i = 0; i < n; ++i) {
STRING * const item = VTABLE_get_string_keyed_int(interp, glb_array, i);
VTABLE_set_string_keyed_str(interp, temp_globals, item, s_empty);
}
Modified: branches/codestring/src/pmc/fixedbooleanarray.pmc
==============================================================================
--- branches/codestring/src/pmc/fixedbooleanarray.pmc Mon May 3 13:16:49 2010 (r46234)
+++ branches/codestring/src/pmc/fixedbooleanarray.pmc Mon May 3 14:39:34 2010 (r46235)
@@ -281,7 +281,7 @@
zero = CONST_STRING(INTERP, "0");
one = CONST_STRING(INTERP, "1");
- for (i = 0; i < elems; i++) {
+ for (i = 0; i < elems; ++i) {
if (SELF.get_integer_keyed_int((INTVAL)i))
str = Parrot_str_concat(INTERP, str, one);
else
Modified: branches/codestring/src/pmc/fixedintegerarray.pmc
==============================================================================
--- branches/codestring/src/pmc/fixedintegerarray.pmc Mon May 3 13:16:49 2010 (r46234)
+++ branches/codestring/src/pmc/fixedintegerarray.pmc Mon May 3 14:39:34 2010 (r46235)
@@ -317,9 +317,8 @@
*/
VTABLE PMC *get_pmc_keyed_int(INTVAL key) {
- PMC * const ret = Parrot_pmc_new(INTERP, enum_class_Integer);
const INTVAL val = SELF.get_integer_keyed_int(key);
- VTABLE_set_integer_native(INTERP, ret, val);
+ PMC * const ret = Parrot_pmc_new_init_int(INTERP, enum_class_Integer, val);
return ret;
}
@@ -444,11 +443,7 @@
*/
VTABLE void set_string_keyed_int(INTVAL key, STRING *value) {
- INTVAL tempInt;
- PMC * const tempPMC = Parrot_pmc_new_temporary(INTERP, enum_class_Integer);
- VTABLE_set_string_native(INTERP, tempPMC, value);
- tempInt = VTABLE_get_integer(INTERP, tempPMC);
- Parrot_pmc_free_temporary(interp, tempPMC);
+ const INTVAL tempInt = Parrot_str_to_int(INTERP, value);
SELF.set_integer_keyed_int(key, tempInt);
}
Modified: branches/codestring/src/pmc/fixedpmcarray.pmc
==============================================================================
--- branches/codestring/src/pmc/fixedpmcarray.pmc Mon May 3 13:16:49 2010 (r46234)
+++ branches/codestring/src/pmc/fixedpmcarray.pmc Mon May 3 14:39:34 2010 (r46235)
@@ -403,7 +403,7 @@
PMC_size(SELF) = size;
data = mem_gc_allocate_n_typed(INTERP, size, PMC *);
- for (i = 0; i < size; i++)
+ for (i = 0; i < size; ++i)
data[i] = PMCNULL;
PMC_array(SELF) = data;
@@ -426,7 +426,7 @@
size = PMC_size(SELF) = VTABLE_elements(INTERP, value);
PMC_array(SELF) = mem_gc_allocate_n_typed(INTERP, size, PMC *);
- for (i = 0; i < size; i++)
+ for (i = 0; i < size; ++i)
(PMC_array(SELF))[i] = VTABLE_get_pmc_keyed_int(INTERP, value, i);
PObj_custom_mark_destroy_SETALL(SELF);
Modified: branches/codestring/src/pmc/fixedstringarray.pmc
==============================================================================
--- branches/codestring/src/pmc/fixedstringarray.pmc Mon May 3 13:16:49 2010 (r46234)
+++ branches/codestring/src/pmc/fixedstringarray.pmc Mon May 3 14:39:34 2010 (r46235)
@@ -141,7 +141,7 @@
UINTVAL size, i;
GET_ATTR_size(INTERP, SELF, size);
- for (i = 0; i < size; i++) {
+ for (i = 0; i < size; ++i) {
Parrot_gc_mark_STRING_alive(INTERP, str_array[i]);
}
}
Modified: branches/codestring/src/pmc/float.pmc
==============================================================================
--- branches/codestring/src/pmc/float.pmc Mon May 3 13:16:49 2010 (r46234)
+++ branches/codestring/src/pmc/float.pmc Mon May 3 14:39:34 2010 (r46235)
@@ -300,7 +300,7 @@
VTABLE void increment() {
FLOATVAL fv;
GET_ATTR_fv(INTERP, SELF, fv);
- fv++;
+ ++fv;
SET_ATTR_fv(INTERP, SELF, fv);
}
@@ -317,7 +317,7 @@
VTABLE void decrement() {
FLOATVAL fv;
GET_ATTR_fv(INTERP, SELF, fv);
- fv--;
+ --fv;
SET_ATTR_fv(INTERP, SELF, fv);
}
/*
Modified: branches/codestring/src/pmc/hashiterator.pmc
==============================================================================
--- branches/codestring/src/pmc/hashiterator.pmc Mon May 3 13:16:49 2010 (r46234)
+++ branches/codestring/src/pmc/hashiterator.pmc Mon May 3 14:39:34 2010 (r46235)
@@ -90,7 +90,7 @@
bucket = attrs->parrot_hash->bi[attrs->pos++];
}
attrs->bucket = bucket;
- attrs->elements--;
+ --attrs->elements;
return;
}
Modified: branches/codestring/src/pmc/imageio.pmc
==============================================================================
--- branches/codestring/src/pmc/imageio.pmc Mon May 3 13:16:49 2010 (r46234)
+++ branches/codestring/src/pmc/imageio.pmc Mon May 3 14:39:34 2010 (r46235)
@@ -249,7 +249,7 @@
const UINTVAL n = VTABLE_shift_integer(interp, info);
const UINTVAL id = PackID_get_PMCID(n);
const int packid_flags = PackID_get_FLAGS(n);
- PMC *pmc = PMCNULL;
+ PMC *pmc = PMCNULL;
PARROT_ASSERT(PARROT_IMAGEIO(info)->what == VISIT_THAW_NORMAL);
@@ -260,17 +260,22 @@
break;
case enum_PackID_normal:
{
+ PMC * const todo = PARROT_IMAGEIO(info)->todo;
const INTVAL type = VTABLE_shift_integer(interp, info);
+
+ PARROT_ASSERT(id - 1 == VTABLE_elements(interp, PARROT_IMAGEIO(info)->todo));
+
if (type <= 0 || type > interp->n_vtable_max)
Parrot_ex_throw_from_c_args(interp, NULL, 1, "Unknown PMC type to thaw %d", type);
+ /* workaround to keep ParrotInterpreter PBC hack working */
+ if (type == enum_class_ParrotInterpreter)
+ PObj_flag_CLEAR(private1, info);
+
pmc = Parrot_pmc_new_noinit(interp, type);
VTABLE_thaw(interp, pmc, info);
- {
- PMC * const todo = PARROT_IMAGEIO(info)->todo;
- VTABLE_set_pmc_keyed_int(interp, todo, id - 1, pmc);
- }
+ VTABLE_set_pmc_keyed_int(interp, todo, id - 1, pmc);
}
break;
default:
@@ -303,7 +308,7 @@
packid_type = enum_PackID_seen;
}
else {
- PARROT_IMAGEIO(info)->id++; /* next id to freeze */
+ ++PARROT_IMAGEIO(info)->id; /* next id to freeze */
id = PARROT_IMAGEIO(info)->id;
packid_type = enum_PackID_normal;
}
@@ -315,8 +320,14 @@
Hash * const hash = (Hash *)VTABLE_get_pointer(interp, PARROT_IMAGEIO(info)->seen);
PARROT_ASSERT(pmc);
+
+ /* workaround to keep ParrotInterpreter PBC hack working */
+ if (pmc->vtable->base_type == enum_class_ParrotInterpreter)
+ PObj_flag_CLEAR(private1, info);
+
VTABLE_push_integer(interp, info,
PObj_is_object_TEST(pmc) ? (INTVAL) enum_class_Object : pmc->vtable->base_type);
+
parrot_hash_put(interp, hash, pmc, (void *)id);
VTABLE_push_pmc(interp, PARROT_IMAGEIO(info)->todo, pmc);
VTABLE_freeze(interp, pmc, info);
@@ -324,14 +335,15 @@
}
pmclass ImageIO auto_attrs {
- ATTR Buffer *buffer; /* buffer to store the image */
- ATTR size_t pos; /* current read/write position in buffer */
- ATTR size_t input_length;
- ATTR INTVAL what;
- ATTR PMC *seen; /* seen hash */
- ATTR PMC *todo; /* todo list */
- ATTR UINTVAL id; /* freze ID of PMC */
- ATTR struct PackFile *pf;
+ ATTR Buffer *buffer; /* buffer to store the image */
+ ATTR size_t pos; /* current read/write position in buffer */
+ ATTR size_t input_length;
+ ATTR INTVAL what;
+ ATTR PMC *seen; /* seen hash */
+ ATTR PMC *todo; /* todo list */
+ ATTR UINTVAL id; /* freze ID of PMC */
+ ATTR struct PackFile *pf;
+ ATTR PackFile_ConstTable *pf_ct;
/*
@@ -359,6 +371,30 @@
PARROT_IMAGEIO(SELF)->id = 0;
PARROT_IMAGEIO(SELF)->pf = PackFile_new(INTERP, 0);
+ PObj_flag_CLEAR(private1, SELF);
+
+ PObj_custom_mark_destroy_SETALL(SELF);
+ }
+
+/*
+
+=item C<void init_pmc(PMC *pmc)>
+
+Initializes the PMC with a pre-existing C<PackFile_ConstTable>.
+
+=cut
+
+*/
+ VTABLE void init_pmc(PMC *pmc) {
+ PARROT_IMAGEIO(SELF)->buffer = NULL;
+ PARROT_IMAGEIO(SELF)->todo = Parrot_pmc_new(INTERP, enum_class_ResizablePMCArray);
+ PARROT_IMAGEIO(SELF)->seen = PMCNULL;
+ PARROT_IMAGEIO(SELF)->id = 0;
+ PARROT_IMAGEIO(SELF)->pf = PackFile_new(INTERP, 0);
+
+ PARROT_IMAGEIO(SELF)->pf_ct = (PackFile_ConstTable *)VTABLE_get_pointer(INTERP, pmc);
+ PObj_flag_SET(private1, SELF);
+
PObj_custom_mark_destroy_SETALL(SELF);
}
@@ -497,11 +533,42 @@
*/
- VTABLE void push_string(STRING *v)
- {
- const size_t len = PF_size_string(v) * sizeof (opcode_t);
- ensure_buffer_size(INTERP, SELF, len);
- SET_VISIT_CURSOR(SELF, (char *)PF_store_string(GET_VISIT_CURSOR(SELF), v));
+ VTABLE void push_string(STRING *v) {
+ if (PObj_flag_TEST(private1, SELF)) {
+ /* store a reference to constant table entry of string */
+ int i;
+ PackFile_ConstTable *table = PARROT_IMAGEIO(SELF)->pf_ct;
+ for (i = 0; i < table->const_count; i++) {
+ PackFile_Constant *constant = table->constants[i];
+ if (constant->type == PFC_STRING) {
+ STRING * const sc = constant->u.string;
+ if (Parrot_str_equal(interp, v, sc)
+ && Parrot_charset_number_of_str(interp, v)
+ == Parrot_charset_number_of_str(interp, sc)
+ && Parrot_encoding_number_of_str(interp, v)
+ == Parrot_encoding_number_of_str(interp, sc)
+ ) {
+ STATICSELF.push_integer(i);
+ return;
+ }
+ }
+ }
+ /* XXX
+ * handle cases where the PMC has changed after Parrot_freeze_strings was called
+ * eg: :immediate subs
+ */
+ STATICSELF.push_integer(-1);
+ /* TODO
+ * should really be:
+ * PANIC(INTERP, "string not previously in constant table when freezing to packfile");
+ */
+ }
+
+ {
+ const size_t len = PF_size_string(v) * sizeof (opcode_t);
+ ensure_buffer_size(INTERP, SELF, len);
+ SET_VISIT_CURSOR(SELF, (char *)PF_store_string(GET_VISIT_CURSOR(SELF), v));
+ }
}
/*
@@ -531,8 +598,8 @@
VTABLE INTVAL shift_integer()
{
- const opcode_t *pos = GET_VISIT_CURSOR(SELF);
- const INTVAL i = PF_fetch_integer(PARROT_IMAGEIO(SELF)->pf,
+ opcode_t *pos = GET_VISIT_CURSOR(SELF);
+ INTVAL i = PF_fetch_integer(PARROT_IMAGEIO(SELF)->pf,
(const opcode_t **)&pos);
SET_VISIT_CURSOR(SELF, (char *)pos);
BYTECODE_SHIFT_OK(SELF);
@@ -551,8 +618,8 @@
*/
VTABLE FLOATVAL shift_float() {
- const opcode_t *pos = GET_VISIT_CURSOR(SELF);
- const FLOATVAL f = PF_fetch_number(PARROT_IMAGEIO(SELF)->pf,
+ opcode_t *pos = GET_VISIT_CURSOR(SELF);
+ FLOATVAL f = PF_fetch_number(PARROT_IMAGEIO(SELF)->pf,
(const opcode_t **)&pos);
SET_VISIT_CURSOR(SELF, (char *)pos);
BYTECODE_SHIFT_OK(SELF);
@@ -570,14 +637,28 @@
*/
- VTABLE STRING *shift_string()
- {
- const opcode_t *pos = GET_VISIT_CURSOR(SELF);
- STRING * const s = PF_fetch_string(interp, PARROT_IMAGEIO(SELF)->pf,
- (const opcode_t **)&pos);
- SET_VISIT_CURSOR(SELF, (char *)pos);
- BYTECODE_SHIFT_OK(SELF);
- return s;
+ VTABLE STRING *shift_string() {
+ if (PObj_flag_TEST(private1, SELF)) {
+ PackFile_ConstTable *table = PARROT_IMAGEIO(SELF)->pf_ct;
+ INTVAL i = STATICSELF.shift_integer();
+
+ if (i >= 0)
+ return table->constants[i]->u.string;
+
+ /* XXX
+ * only got here because constant table doesn't contain the string
+ * fallback on inline strings
+ */
+ }
+
+ {
+ opcode_t *pos = GET_VISIT_CURSOR(SELF);
+ STRING *s = PF_fetch_string(interp, PARROT_IMAGEIO(SELF)->pf,
+ (const opcode_t **)&pos);
+ SET_VISIT_CURSOR(SELF, (char *)pos);
+ BYTECODE_SHIFT_OK(SELF);
+ return s;
+ }
}
/*
Modified: branches/codestring/src/pmc/imageiosize.pmc
==============================================================================
--- branches/codestring/src/pmc/imageiosize.pmc Mon May 3 13:16:49 2010 (r46234)
+++ branches/codestring/src/pmc/imageiosize.pmc Mon May 3 14:39:34 2010 (r46235)
@@ -52,6 +52,11 @@
Hash * const hash = (Hash *)VTABLE_get_pointer(interp, PARROT_IMAGEIOSIZE(info)->seen);
parrot_hash_put(interp, hash, pmc, pmc);
+
+ /* workaround to keep ParrotInterpreter PBC hack working */
+ if (pmc->vtable->base_type == enum_class_ParrotInterpreter)
+ PObj_flag_CLEAR(private1, info);
+
VTABLE_push_integer(interp, info, pmc->vtable->base_type);
VTABLE_push_pmc(interp, PARROT_IMAGEIOSIZE(info)->todo, pmc);
VTABLE_freeze(interp, pmc, info);
@@ -59,10 +64,11 @@
}
pmclass ImageIOSize auto_attrs {
- ATTR PMC *seen; /* seen hash */
- ATTR PMC *todo; /* todo list */
- ATTR struct PackFile *pf;
- ATTR INTVAL size;
+ ATTR PMC *seen; /* seen hash */
+ ATTR PMC *todo; /* todo list */
+ ATTR struct PackFile *pf;
+ ATTR struct PackFile_ConstTable *pf_ct;
+ ATTR INTVAL size;
/*
@@ -84,14 +90,42 @@
*/
VTABLE void init() {
- PARROT_IMAGEIOSIZE(SELF)->todo = Parrot_pmc_new(INTERP, enum_class_ResizablePMCArray);
- PARROT_IMAGEIOSIZE(SELF)->pf = PackFile_new(INTERP, 0);
- PARROT_IMAGEIOSIZE(SELF)->size = 0;
+ PARROT_IMAGEIOSIZE(SELF)->todo = Parrot_pmc_new(INTERP, enum_class_ResizablePMCArray);
+ PARROT_IMAGEIOSIZE(SELF)->pf = PackFile_new(INTERP, 0);
+ PARROT_IMAGEIOSIZE(SELF)->pf_ct = NULL;
+ PARROT_IMAGEIOSIZE(SELF)->size = 0;
PARROT_IMAGEIOSIZE(SELF)->seen = Parrot_pmc_new(INTERP, enum_class_Hash);
VTABLE_set_pointer(INTERP, PARROT_IMAGEIOSIZE(SELF)->seen,
parrot_new_intval_hash(INTERP));
+ PObj_flag_CLEAR(private1, SELF);
+
+ PObj_custom_mark_destroy_SETALL(SELF);
+ }
+
+/*
+
+=item C<void init_pmc()>
+
+Initializes the PMC with a pre-existing C<PackFile_ConstTable>.
+
+=cut
+
+*/
+ VTABLE void init_pmc(PMC *pf_ct) {
+ PARROT_IMAGEIOSIZE(SELF)->todo = Parrot_pmc_new(INTERP, enum_class_ResizablePMCArray);
+ PARROT_IMAGEIOSIZE(SELF)->pf = PackFile_new(INTERP, 0);
+ PARROT_IMAGEIOSIZE(SELF)->pf_ct =
+ (PackFile_ConstTable *)VTABLE_get_pointer(interp, pf_ct);
+ PARROT_IMAGEIOSIZE(SELF)->size = 0;
+
+ PARROT_IMAGEIOSIZE(SELF)->seen = Parrot_pmc_new(INTERP, enum_class_Hash);
+ VTABLE_set_pointer(INTERP, PARROT_IMAGEIOSIZE(SELF)->seen,
+ parrot_new_intval_hash(INTERP));
+
+ PObj_flag_SET(private1, SELF);
+
PObj_custom_mark_destroy_SETALL(SELF);
}
@@ -134,8 +168,8 @@
*/
VTABLE PMC *get_pmc() {
- PMC * const ret = Parrot_pmc_new(INTERP, enum_class_Integer);
- VTABLE_set_integer_native(INTERP, ret, PARROT_IMAGEIOSIZE(SELF)->size);
+ PMC * const ret = Parrot_pmc_new_init_int(INTERP, enum_class_Integer,
+ PARROT_IMAGEIOSIZE(SELF)->size);
return ret;
}
@@ -210,10 +244,40 @@
*/
- VTABLE void push_string(STRING *v)
- {
- const size_t len = PF_size_string(v) * sizeof (opcode_t);
- PARROT_IMAGEIOSIZE(SELF)->size += len;
+ VTABLE void push_string(STRING *v) {
+ if (PObj_flag_TEST(private1, SELF)) {
+ /* look for a reference to constant table entry of string */
+ int i;
+ PackFile_ConstTable *table = PARROT_IMAGEIOSIZE(SELF)->pf_ct;
+ for (i = 0; i < table->const_count; i++) {
+ PackFile_Constant *constant = table->constants[i];
+ if (constant->type == PFC_STRING) {
+ STRING * const sc = constant->u.string;
+ if (Parrot_str_equal(interp, v, sc)
+ && Parrot_charset_number_of_str(interp, v)
+ == Parrot_charset_number_of_str(interp, sc)
+ && Parrot_encoding_number_of_str(interp, v)
+ == Parrot_encoding_number_of_str(interp, sc)) {
+ STATICSELF.push_integer(i);
+ return;
+ }
+ }
+ }
+ /* XXX
+ * handle cases where the PMC has changed after Parrot_freeze_strings was called
+ * eg: :immediate subs
+ */
+ STATICSELF.push_integer(-1);
+ /* TODO
+ * should really be:
+ * PANIC(INTERP, "string not previously in constant table when freezing to packfile");
+ */
+ }
+
+ {
+ const size_t len = PF_size_string(v) * sizeof (opcode_t);
+ PARROT_IMAGEIOSIZE(SELF)->size += len;
+ }
}
/*
Copied: branches/codestring/src/pmc/imageiostrings.pmc (from r46234, trunk/src/pmc/imageiostrings.pmc)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ branches/codestring/src/pmc/imageiostrings.pmc Mon May 3 14:39:34 2010 (r46235, copy of r46234, trunk/src/pmc/imageiostrings.pmc)
@@ -0,0 +1,199 @@
+/*
+Copyright (C) 2010, Parrot Foundation.
+$Id$
+
+=head1 NAME
+
+src/pmc/imageiosize.pmc - ImageIOStrings PMC
+
+=head1 DESCRIPTION
+
+Get a list of strings in an object graph. Used in packfile creation.
+
+=cut
+
+*/
+
+/* HEADERIZER HFILE: none */
+/* HEADERIZER BEGIN: static */
+/* HEADERIZER END: static */
+
+pmclass ImageIOStrings auto_attrs {
+ ATTR PMC *seen; /* seen hash */
+ ATTR PMC *todo; /* todo list */
+ ATTR PMC *list; /* list of strings seen */
+
+/*
+
+=head1 VTABLES
+
+=over 4
+
+=cut
+
+*/
+
+/*
+
+=item C<void init()>
+
+Initializes the PMC.
+
+=cut
+
+*/
+ VTABLE void init() {
+ PARROT_IMAGEIOSTRINGS(SELF)->todo = Parrot_pmc_new(INTERP, enum_class_ResizablePMCArray);
+
+ PARROT_IMAGEIOSTRINGS(SELF)->seen = Parrot_pmc_new(INTERP, enum_class_Hash);
+ VTABLE_set_pointer(INTERP, PARROT_IMAGEIOSTRINGS(SELF)->seen,
+ parrot_new_intval_hash(INTERP));
+
+ PARROT_IMAGEIOSTRINGS(SELF)->list = Parrot_pmc_new(INTERP, enum_class_ResizableStringArray);
+ }
+
+/*
+
+=item C<void mark()>
+
+Marks the PMC as alive.
+
+=cut
+
+*/
+ VTABLE void mark() {
+ Parrot_gc_mark_PMC_alive(INTERP, PARROT_IMAGEIOSTRINGS(SELF)->todo);
+ Parrot_gc_mark_PMC_alive(INTERP, PARROT_IMAGEIOSTRINGS(SELF)->seen);
+ Parrot_gc_mark_PMC_alive(INTERP, PARROT_IMAGEIOSTRINGS(SELF)->list);
+ }
+
+/*
+
+=item C<VTABLE PMC *get_pmc()>
+
+Gets the result PMC after a thaw.
+
+=cut
+
+*/
+
+ VTABLE PMC *get_pmc() {
+ return PARROT_IMAGEIOSTRINGS(SELF)->list;
+ }
+
+/*
+
+=item C<VTABLE PMC *get_iter()>
+
+Get the C<todo> list for this freeze/thaw for iterating over.
+
+=cut
+
+*/
+
+ VTABLE PMC *get_iter() {
+ return PARROT_IMAGEIOSTRINGS(SELF)->todo;
+ }
+
+/*
+
+=item C<VTABLE INTVAL get_integer()>
+
+Returns the flags describing the visit action
+
+=cut
+
+*/
+
+ VTABLE INTVAL get_integer() {
+ return VISIT_FREEZE_NORMAL;
+ }
+
+
+/*
+
+=item C<VTABLE void push_integer(INTVAL v)>
+
+Do nothing.
+
+=cut
+
+*/
+
+ VTABLE void push_integer(INTVAL v) { }
+
+
+/*
+
+=item C<VTABLE void push_float(FLOATVAL v)>
+
+Do nothing.
+
+=cut
+
+*/
+
+ VTABLE void push_float(FLOATVAL v) { }
+
+
+/*
+
+=item C<VTABLE void push_string(STRING *v)>
+
+Adds the string to the list of strings.
+
+=cut
+
+*/
+
+ VTABLE void push_string(STRING *v)
+ {
+ VTABLE_push_string(INTERP, PARROT_IMAGEIOSTRINGS(SELF)->list, v);
+ }
+
+/*
+
+=item C<VTABLE void push_pmc(PMC *v)>
+
+Checks new pmcs for strings.
+
+=cut
+
+*/
+
+ VTABLE void push_pmc(PMC *v) {
+ if (!PMC_IS_NULL(v)) {
+ Hash * const hash = (Hash *)VTABLE_get_pointer(INTERP,
+ PARROT_IMAGEIOSTRINGS(SELF)->seen);
+ HashBucket * const b = parrot_hash_get_bucket(INTERP, hash, v);
+ if (!b) {
+ /* not yet seen */
+ parrot_hash_put(INTERP, hash, v, v);
+ VTABLE_push_pmc(INTERP, PARROT_IMAGEIOSTRINGS(SELF)->todo, v);
+ VTABLE_freeze(INTERP, v, SELF);
+ }
+ }
+ }
+
+ VTABLE void set_pmc(PMC *p)
+ {
+ STATICSELF.push_pmc(p);
+ Parrot_visit_loop_visit(INTERP, SELF);
+ }
+
+/*
+
+=back
+
+=cut
+
+*/
+
+}
+
+/*
+ * Local variables:
+ * c-file-style: "parrot"
+ * End:
+ * vim: expandtab shiftwidth=4:
+ */
Modified: branches/codestring/src/pmc/integer.pmc
==============================================================================
--- branches/codestring/src/pmc/integer.pmc Mon May 3 13:16:49 2010 (r46234)
+++ branches/codestring/src/pmc/integer.pmc Mon May 3 14:39:34 2010 (r46235)
@@ -102,6 +102,13 @@
attrs->iv = VTABLE_get_integer(INTERP, init);
}
+ VTABLE void init_int(INTVAL init) {
+ Parrot_Integer_attributes * const attrs =
+ (Parrot_Integer_attributes *)PMC_data(SELF);
+
+ attrs->iv = init;
+ }
+
/*
=item C<PMC *clone()>
Modified: branches/codestring/src/pmc/namespace.pmc
==============================================================================
--- branches/codestring/src/pmc/namespace.pmc Mon May 3 13:16:49 2010 (r46234)
+++ branches/codestring/src/pmc/namespace.pmc Mon May 3 14:39:34 2010 (r46235)
@@ -532,7 +532,7 @@
break;
}
ns = Parrot_get_namespace_keyed_str(INTERP, ns, name);
- i++;
+ ++i;
}
return ns;
}
@@ -818,7 +818,7 @@
Parrot_NameSpace_attributes *nsinfo = PARROT_NAMESPACE(ns);
VTABLE_unshift_string(INTERP, ar, nsinfo->name);
ns = nsinfo->parent;
- elements++;
+ ++elements;
}
/* remove the NULL string of the namespace root */
Modified: branches/codestring/src/pmc/nci.pmc
==============================================================================
--- branches/codestring/src/pmc/nci.pmc Mon May 3 13:16:49 2010 (r46234)
+++ branches/codestring/src/pmc/nci.pmc Mon May 3 14:39:34 2010 (r46235)
@@ -64,7 +64,7 @@
size_t j = 0;
size_t i;
- for (i = 1; i < sig_length; i++) {
+ for (i = 1; i < sig_length; ++i) {
const INTVAL c = Parrot_str_indexed(interp, sig, i);
switch (c) {
Modified: branches/codestring/src/pmc/object.pmc
==============================================================================
--- branches/codestring/src/pmc/object.pmc Mon May 3 13:16:49 2010 (r46234)
+++ branches/codestring/src/pmc/object.pmc Mon May 3 14:39:34 2010 (r46235)
@@ -883,11 +883,10 @@
UNLOCK_INTERPRETER(master);
ret = SELF;
- _true = Parrot_pmc_new(INTERP, enum_class_Integer);
-
/* Setting the '_ro' property switches to the read-only vtable */
- VTABLE_set_integer_native(INTERP, _true, 1);
+ _true = Parrot_pmc_new_init_int(INTERP, enum_class_Integer, 1);
VTABLE_setprop(INTERP, ret, CONST_STRING(interp, "_ro"), _true);
+
SELF->vtable->pmc_class = master->vtables[type_num]->pmc_class;
Parrot_gc_add_pmc_sync(INTERP, ret);
PObj_is_PMC_shared_SET(ret);
Modified: branches/codestring/src/pmc/oplib.pmc
==============================================================================
--- branches/codestring/src/pmc/oplib.pmc Mon May 3 13:16:49 2010 (r46234)
+++ branches/codestring/src/pmc/oplib.pmc Mon May 3 14:39:34 2010 (r46235)
@@ -41,8 +41,10 @@
}
VTABLE void init() {
- if (OPLIB_OPCODE_CACHE == NULL)
+ if (OPLIB_OPCODE_CACHE == NULL) {
OPLIB_OPCODE_CACHE = Parrot_pmc_new(INTERP, enum_class_Hash);
+ Parrot_pmc_gc_register(INTERP, OPLIB_OPCODE_CACHE);
+ }
PObj_custom_mark_SET(SELF);
}
Modified: branches/codestring/src/pmc/orderedhashiterator.pmc
==============================================================================
--- branches/codestring/src/pmc/orderedhashiterator.pmc Mon May 3 13:16:49 2010 (r46234)
+++ branches/codestring/src/pmc/orderedhashiterator.pmc Mon May 3 14:39:34 2010 (r46235)
@@ -183,8 +183,8 @@
ORDERED_HASH_ITEM_KEY);
attrs->next_entry = VTABLE_get_pmc_keyed_int(INTERP, attrs->next_entry,
ORDERED_HASH_ITEM_NEXT);
- attrs->pos++;
- attrs->elements--;
+ ++attrs->pos;
+ --attrs->elements;
return ret;
}
@@ -214,8 +214,8 @@
ORDERED_HASH_ITEM_KEY);
attrs->next_entry = VTABLE_get_pmc_keyed_int(INTERP, attrs->next_entry,
ORDERED_HASH_ITEM_PREV);
- attrs->pos--;
- attrs->elements--;
+ --attrs->pos;
+ --attrs->elements;
return ret;
}
Modified: branches/codestring/src/pmc/parrotinterpreter.pmc
==============================================================================
--- branches/codestring/src/pmc/parrotinterpreter.pmc Mon May 3 13:16:49 2010 (r46234)
+++ branches/codestring/src/pmc/parrotinterpreter.pmc Mon May 3 14:39:34 2010 (r46235)
@@ -351,7 +351,9 @@
VTABLE INTVAL get_integer() {
const Parrot_Interp i = PMC_interp(SELF);
- return (INTVAL)i->thread_data->tid;
+ if (i->thread_data)
+ return (INTVAL)i->thread_data->tid;
+ return 0;
}
/*
@@ -651,7 +653,7 @@
*/
- VTABLE INTVAL is_equal(PMC *val) {
+ MULTI INTVAL is_equal(ParrotInterpreter val) {
Parrot_Interp self = PMC_interp(SELF);
Parrot_Interp other = PMC_interp(val);
@@ -665,6 +667,22 @@
return 0;
}
+ MULTI INTVAL is_equal(ParrotThread value) {
+ Parrot_Interp self = PMC_interp(SELF);
+
+ if (!self->thread_data)
+ return 0;
+
+ return self->thread_data->tid == (UINTVAL) VTABLE_get_integer(interp, value);
+ }
+
+ MULTI INTVAL is_equal(DEFAULT value) {
+ Parrot_ex_throw_from_c_args(INTERP, NULL,
+ EXCEPTION_INTERNAL_NOT_IMPLEMENTED,
+ "ParrotInterpreter: no multiple dispatch variant 'is_equal' for %Ss",
+ VTABLE_name(interp, value));
+ }
+
/*
=item C<void visit(PMC *info)>
Deleted: branches/codestring/src/pmc/parrotrunningthread.pmc
==============================================================================
--- branches/codestring/src/pmc/parrotrunningthread.pmc Mon May 3 14:39:34 2010 (r46234)
+++ /dev/null 00:00:00 1970 (deleted)
@@ -1,164 +0,0 @@
-/*
-Copyright (C) 2006-2008, Parrot Foundation.
-$Id$
-
-=head1 NAME
-
-src/pmc/parrotrunningthread.pmc -- Represents a running Parrot Thread.
-
-=head1 DESCRIPTION
-
-This type represents a running parrot thread.
-
-It provides the following methods:
- - join
- - detach
- - kill
-
-Note that a running thread object becomes invalid when a thread
-finishes while detached or joined. Further operations on the
-object may have unexpected behavior, such as manipulating an
-unrelated thread.
-
-=head2 Methods
-
-=over 4
-
-=cut
-
-*/
-
-#include "parrot/embed.h"
-
-#define PMC_tid(x) (PARROT_PARROTRUNNINGTHREAD(x))->tid
-
-/* HEADERIZER HFILE: none */
-/* HEADERIZER BEGIN: static */
-/* HEADERIZER END: static */
-
-pmclass ParrotRunningThread no_ro auto_attrs {
- ATTR INTVAL tid; /* thread id */
-
-/*
-
-=item C<void init()>
-
-Create a new, invalid handle to a running thread.
-
-=cut
-
-*/
-
- VTABLE void init() {
- PMC_tid(SELF) = -1;
- }
-
-/*
-
-=item C<void init_pmc(PMC *tid)>
-
-Create a new running thread referring to the thread with
-the Thread ID specified in C<tid>.
-
-=cut
-
-*/
-
- VTABLE void init_pmc(PMC *tid) {
- PMC_tid(SELF) = VTABLE_get_integer(INTERP, tid);
- }
-
-/*
-
-=item C<INTVAL get_integer()>
-
-Return the thread ID of this thread.
-
-=cut
-
-*/
-
- VTABLE INTVAL get_integer() {
- return PMC_tid(SELF);
- }
-
-/*
-
-=item C<void set_integer_native(INTVAL new_tid)>
-
-Change the thread ID we refer to to C<new_tid>.
-
-=cut
-
-*/
-
- VTABLE void set_integer_native(INTVAL new_tid) {
- if (new_tid < 0)
- Parrot_ex_throw_from_c_args(INTERP, NULL, EXCEPTION_INTERP_ERROR,
- "Attempt to set invalid thread id %d", (int)new_tid);
- PMC_tid(SELF) = new_tid;
- }
-/*
-
-=item C<METHOD join()>
-
-Join the thread, returning whatever its main method returns.
-
-=cut
-
-*/
- METHOD join() {
- PMC *ret = pt_thread_join(INTERP,
- (UINTVAL)VTABLE_get_integer(INTERP, SELF));
-
- /* invalidate self */
- PMC_tid(SELF) = -1;
-
- RETURN(PMC *ret);
- }
-
-/*
-
-=item C<METHOD detach()>
-
-Detach the thread so it cannot be joined and will free its resources
-immediately when it exits.
-
-=cut
-
-*/
-
- METHOD detach() {
- pt_thread_detach((UINTVAL)VTABLE_get_integer(INTERP, SELF));
- }
-
-/*
-
-=item C<METHOD kill()>
-
-Terminate a running thread.
-
-=cut
-
-*/
-
- METHOD kill() {
- pt_thread_kill((UINTVAL)VTABLE_get_integer(INTERP, SELF));
- }
-
-}
-
-/*
-
-=back
-
-=cut
-
-*/
-
-/*
- * Local variables:
- * c-file-style: "parrot"
- * End:
- * vim: expandtab shiftwidth=4:
- */
Copied: branches/codestring/src/pmc/parrotthread.pmc (from r46234, trunk/src/pmc/parrotthread.pmc)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ branches/codestring/src/pmc/parrotthread.pmc Mon May 3 14:39:34 2010 (r46235, copy of r46234, trunk/src/pmc/parrotthread.pmc)
@@ -0,0 +1,181 @@
+/*
+Copyright (C) 2001-2010, Parrot Foundation.
+$Id$
+
+=head1 NAME
+
+src/pmc/parrotthread.pmc - Represents a Parrot Thread.
+
+=head1 DESCRIPTION
+
+This type represents a parrot thread.
+
+It provides the following methods:
+ - join
+ - detach
+ - kill
+ - pid
+
+=head2 Methods
+
+=over 4
+
+=cut
+
+*/
+
+#include "parrot/embed.h"
+
+
+pmclass ParrotThread no_ro auto_attrs {
+ ATTR INTVAL tid; /* thread id */
+
+/* HEADERIZER HFILE: none */
+/* HEADERIZER BEGIN: static */
+/* HEADERIZER END: static */
+
+/*
+
+=item C<void init()>
+
+Create a new, invalid handle to a running thread.
+
+=cut
+
+*/
+
+ VTABLE void init() {
+ VTABLE_set_integer_native(interp, SELF, -1);
+ }
+
+/*
+
+=item C<void init_pmc(PMC *notused)>
+
+Create a new, invalid handle to a running thread.
+
+=cut
+
+*/
+
+ VTABLE void init_pmc(PMC *notused) {
+ VTABLE_set_integer_native(interp, SELF, -1);
+ }
+
+/*
+
+=item C<INTVAL get_integer()>
+
+Return the thread ID of this thread.
+
+=cut
+
+*/
+
+ VTABLE INTVAL get_integer() {
+ INTVAL ttid;
+ GETATTR_ParrotThread_tid(interp, SELF, ttid);
+ return ttid;
+ }
+
+ VTABLE void set_integer_native(INTVAL ttid) {
+ SETATTR_ParrotThread_tid(interp, SELF, ttid);
+ }
+
+
+/*
+
+=item C<METHOD run(closure)>
+
+Join the thread, returning whatever its main method returns.
+
+=cut
+
+*/
+ METHOD run_clone(PMC *sub, PMC *args :slurpy) {
+ INTVAL ttid;
+ if (PMC_IS_NULL(sub)) {
+ Parrot_ex_throw_from_c_args(interp, NULL, EXCEPTION_INVALID_OPERATION,
+ "Invalid thread sub");
+ }
+
+ ttid = pt_thread_create_run(interp,
+ enum_class_ThreadInterpreter, PARROT_CLONE_DEFAULT, sub, args);
+ VTABLE_set_integer_native(interp, SELF, ttid);
+ }
+
+ METHOD run(INTVAL clone_flags, PMC *sub, PMC *args :slurpy) {
+ INTVAL ttid;
+ if (PMC_IS_NULL(sub)) {
+ Parrot_ex_throw_from_c_args(interp, NULL, EXCEPTION_INVALID_OPERATION,
+ "Invalid thread sub");
+ }
+
+ ttid = pt_thread_create_run(interp, enum_class_ThreadInterpreter, clone_flags, sub, args);
+ VTABLE_set_integer_native(interp, SELF, ttid);
+ }
+/*
+
+=item C<METHOD join()>
+
+Join the thread, returning whatever its main method returns.
+
+=cut
+
+*/
+ METHOD join() {
+ PMC *ret;
+ INTVAL ttid = VTABLE_get_integer(INTERP, SELF);
+
+ ret = pt_thread_join(INTERP, ttid);
+ /* invalidate self */
+ VTABLE_set_integer_native(interp, SELF, -1);
+
+ RETURN(PMC *ret);
+ }
+
+/*
+
+=item C<METHOD detach()>
+
+Detach the thread so it cannot be joined and will free its resources
+immediately when it exits.
+
+=cut
+
+*/
+
+ METHOD detach() {
+ pt_thread_detach((UINTVAL)VTABLE_get_integer(INTERP, SELF));
+ }
+
+/*
+
+=item C<METHOD kill()>
+
+Terminate a running thread.
+
+=cut
+
+*/
+
+ METHOD kill() {
+ pt_thread_kill((UINTVAL)VTABLE_get_integer(INTERP, SELF));
+ }
+
+}
+
+/*
+
+=back
+
+=cut
+
+*/
+
+/*
+ * Local variables:
+ * c-file-style: "parrot"
+ * End:
+ * vim: expandtab shiftwidth=4:
+ */
Modified: branches/codestring/src/pmc/pmcproxy.pmc
==============================================================================
--- branches/codestring/src/pmc/pmcproxy.pmc Mon May 3 13:16:49 2010 (r46234)
+++ branches/codestring/src/pmc/pmcproxy.pmc Mon May 3 14:39:34 2010 (r46235)
@@ -115,8 +115,7 @@
PObj_is_class_SET(SELF);
}
- VTABLE void init_pmc(PMC *init_data) {
- const INTVAL type_num = VTABLE_get_integer(interp, init_data);
+ VTABLE void init_int(INTVAL type_num) {
Parrot_Class_attributes *proxy_info;
INTVAL mro_length, i;
@@ -136,7 +135,7 @@
/* Build MRO (skip ourself). */
mro_length = VTABLE_elements(interp, interp->vtables[type_num]->mro);
- for (i = 1; i < mro_length; i++) {
+ for (i = 1; i < mro_length; ++i) {
PMC *pclass = VTABLE_get_pmc_keyed_int(interp, interp->vtables[type_num]->mro, i);
PMC *cns = pclass->vtable->_namespace;
STRING *cname = pclass->vtable->whoami;
@@ -185,6 +184,11 @@
}
}
+ VTABLE void init_pmc(PMC *init_data) {
+ const INTVAL type_num = VTABLE_get_integer(interp, init_data);
+ SELF.init_int(type_num);
+ }
+
/*
=item C<PMC *instantiate(PMC *init)>
@@ -260,7 +264,7 @@
* for 'isa' on the original comparison. */
num_classes = VTABLE_elements(interp, _proxy->parents);
- for (i = 0; i < num_classes; i++) {
+ for (i = 0; i < num_classes; ++i) {
PMC * const cur_class = VTABLE_get_pmc_keyed_int(interp,
_proxy->parents, i);
Modified: branches/codestring/src/pmc/resizablepmcarray.pmc
==============================================================================
--- branches/codestring/src/pmc/resizablepmcarray.pmc Mon May 3 13:16:49 2010 (r46234)
+++ branches/codestring/src/pmc/resizablepmcarray.pmc Mon May 3 14:39:34 2010 (r46235)
@@ -99,7 +99,7 @@
PMC_array(SELF) = mem_gc_realloc_n_typed_zeroed(INTERP,
PMC_array(SELF), cur, i, PMC *);
- for (; i < cur; i++) {
+ for (; i < cur; ++i) {
(PMC_array(SELF))[i] = PMCNULL;
}
@@ -292,7 +292,7 @@
for (i = idx; i < n - 1; ++i)
data[i] = data[i + 1];
- PMC_size(SELF)--;
+ --PMC_size(SELF);
}
/*
@@ -382,9 +382,7 @@
VTABLE void push_integer(INTVAL value) {
const INTVAL size = PMC_size(SELF);
- PMC * const val = Parrot_pmc_new(INTERP, enum_class_Integer);
-
- VTABLE_set_integer_native(INTERP, val, value);
+ PMC * const val = Parrot_pmc_new_init_int(INTERP, enum_class_Integer, value);
SELF.set_pmc_keyed_int(size, val);
return;
@@ -531,11 +529,10 @@
VTABLE void unshift_integer(INTVAL value) {
const INTVAL size = PMC_size(SELF);
- PMC * const val = Parrot_pmc_new(INTERP, enum_class_Integer);
+ PMC * const val = Parrot_pmc_new_init_int(INTERP, enum_class_Integer, value);
PMC **data;
INTVAL i;
- VTABLE_set_integer_native(INTERP, val, value);
SELF.set_integer_native(size + 1);
data = PMC_array(SELF);
@@ -703,7 +700,7 @@
/* shrink the array */
if (shift < 0) {
/* start at offset so we don't overwrite values we'll need */
- for (i = offset + count; i < length; i++)
+ for (i = offset + count; i < length; ++i)
VTABLE_set_pmc_keyed_int(INTERP, SELF, i + shift,
VTABLE_get_pmc_keyed_int(INTERP, SELF, i));
@@ -715,13 +712,13 @@
/* move the existing values */
/* start at length-1 so we don't overwrite values we'll need */
- for (i = length - 1; i >= offset; i--)
+ for (i = length - 1; i >= offset; --i)
VTABLE_set_pmc_keyed_int(INTERP, SELF, i + shift,
VTABLE_get_pmc_keyed_int(INTERP, SELF, i));
}
/* copy the new values */
- for (i = 0; i < elems; i++)
+ for (i = 0; i < elems; ++i)
VTABLE_set_pmc_keyed_int(INTERP, SELF, i + offset,
VTABLE_get_pmc_keyed_int(INTERP, value, i));
}
Modified: branches/codestring/src/pmc/resizablestringarray.pmc
==============================================================================
--- branches/codestring/src/pmc/resizablestringarray.pmc Mon May 3 13:16:49 2010 (r46234)
+++ branches/codestring/src/pmc/resizablestringarray.pmc Mon May 3 14:39:34 2010 (r46235)
@@ -225,7 +225,7 @@
GET_ATTR_size(interp, SELF, old_size);
if (new_size > old_size) {
INTVAL i;
- for (i = old_size; i < new_size; i++)
+ for (i = old_size; i < new_size; ++i)
str_array[i] = NULL;
}
@@ -249,7 +249,7 @@
cur, resize_threshold, STRING*));
GET_ATTR_str_array(INTERP, SELF, str_array);
- for (; i < cur; i++)
+ for (; i < cur; ++i)
str_array[i] = NULL;
SET_ATTR_size(INTERP, SELF, new_size);
@@ -605,7 +605,7 @@
/* shrink the array */
if (shift < 0) {
/* start at offset so we don't overwrite values we'll need */
- for (i = offset+count; i < length; i++)
+ for (i = offset+count; i < length; ++i)
VTABLE_set_pmc_keyed_int(INTERP, SELF, i + shift,
VTABLE_get_pmc_keyed_int(INTERP, SELF, i));
@@ -617,13 +617,13 @@
/* move the existing values */
/* start at length-1 so we don't overwrite values we'll need */
- for (i = length - 1; i >= offset; i--)
+ for (i = length - 1; i >= offset; --i)
VTABLE_set_pmc_keyed_int(INTERP, SELF, i + shift,
VTABLE_get_pmc_keyed_int(INTERP, SELF, i));
}
/* copy the new values */
- for (i = 0; i < elems; i++)
+ for (i = 0; i < elems; ++i)
VTABLE_set_pmc_keyed_int(INTERP, SELF, i + offset,
VTABLE_get_pmc_keyed_int(INTERP, value, i));
}
Modified: branches/codestring/src/pmc/role.pmc
==============================================================================
--- branches/codestring/src/pmc/role.pmc Mon May 3 13:16:49 2010 (r46234)
+++ branches/codestring/src/pmc/role.pmc Mon May 3 14:39:34 2010 (r46235)
@@ -163,7 +163,7 @@
PMC * const role_list = VTABLE_get_pmc_keyed_str(interp, info, roles_str);
const int role_count = VTABLE_elements(interp, role_list);
- for (i = 0; i < role_count; i++) {
+ for (i = 0; i < role_count; ++i) {
PMC * const cur_role = VTABLE_get_pmc_keyed_int(interp, role_list, i);
VTABLE_add_role(interp, self, cur_role);
}
@@ -177,7 +177,7 @@
const int attrib_count = VTABLE_elements(interp, attrib_name_list);
- for (i = 0; i < attrib_count; i++) {
+ for (i = 0; i < attrib_count; ++i) {
STRING * const attrib_name = VTABLE_get_string_keyed_int(interp,
attrib_name_list, i);
VTABLE_add_attribute(interp, self, attrib_name, PMCNULL);
@@ -536,7 +536,7 @@
return 1;
count = VTABLE_elements(interp, role->roles);
- for (i = 0; i < count; i++) {
+ for (i = 0; i < count; ++i) {
PMC *cur_role = VTABLE_get_pmc_keyed_int(interp, role->roles, i);
if (VTABLE_does(interp, cur_role, role_name))
return 1;
@@ -563,7 +563,7 @@
return 1;
count = VTABLE_elements(interp, this_role->roles);
- for (i = 0; i < count; i++) {
+ for (i = 0; i < count; ++i) {
PMC *cur_role = VTABLE_get_pmc_keyed_int(interp, this_role->roles, i);
if (VTABLE_does_pmc(interp, cur_role, role))
return 1;
Modified: branches/codestring/src/pmc/scalar.pmc
==============================================================================
--- branches/codestring/src/pmc/scalar.pmc Mon May 3 13:16:49 2010 (r46234)
+++ branches/codestring/src/pmc/scalar.pmc Mon May 3 14:39:34 2010 (r46235)
@@ -938,9 +938,7 @@
*/
VTABLE PMC *share_ro() {
PMC *ret = pt_shared_fixup(INTERP, SELF);
- PMC * const _true = Parrot_pmc_new(INTERP, enum_class_Integer);
-
- VTABLE_set_integer_native(INTERP, _true, 1);
+ PMC * const _true = Parrot_pmc_new_init_int(INTERP, enum_class_Integer, 1);
/* first set readonly */
VTABLE_setprop(INTERP, ret, CONST_STRING(INTERP, "_ro"), _true);
Modified: branches/codestring/src/pmc/scheduler.pmc
==============================================================================
--- branches/codestring/src/pmc/scheduler.pmc Mon May 3 13:16:49 2010 (r46234)
+++ branches/codestring/src/pmc/scheduler.pmc Mon May 3 14:39:34 2010 (r46235)
@@ -523,7 +523,7 @@
&& handler->vtable->base_type == enum_class_ExceptionHandler)
|| (Parrot_str_equal(INTERP, type, event)
&& handler->vtable->base_type == enum_class_EventHandler))
- count++;
+ ++count;
}
}
Modified: branches/codestring/src/pmc/string.pmc
==============================================================================
--- branches/codestring/src/pmc/string.pmc Mon May 3 13:16:49 2010 (r46234)
+++ branches/codestring/src/pmc/string.pmc Mon May 3 14:39:34 2010 (r46235)
@@ -659,7 +659,7 @@
break;
i = i * base + dig;
- j++;
+ ++j;
}
if (j < len) {
Modified: branches/codestring/src/pmc/sub.pmc
==============================================================================
--- branches/codestring/src/pmc/sub.pmc Mon May 3 13:16:49 2010 (r46234)
+++ branches/codestring/src/pmc/sub.pmc Mon May 3 14:39:34 2010 (r46235)
@@ -857,7 +857,7 @@
ASSERT_SIG_PMC(sig);
- for (i = 0; i < sig_length; i++) {
+ for (i = 0; i < sig_length; ++i) {
int sig_item = VTABLE_get_integer_keyed_int(INTERP, sig, i);;
if (PARROT_ARG_SLURPY_ARRAY_ISSET(sig_item)){
if (PARROT_ARG_NAME_ISSET(sig_item))
@@ -866,18 +866,18 @@
sub->arg_info->pos_slurpy = 1;
}
else if (PARROT_ARG_NAME_ISSET(sig_item)) {
- i++;
+ ++i;
sig_item = VTABLE_get_integer_keyed_int(INTERP, sig, i);;
if (PARROT_ARG_OPTIONAL_ISSET(sig_item))
- sub->arg_info->named_optional++;
+ ++sub->arg_info->named_optional;
else
- sub->arg_info->named_required++;
+ ++sub->arg_info->named_required;
}
else if (!PARROT_ARG_OPT_FLAG_ISSET(sig_item)) {
if (PARROT_ARG_OPTIONAL_ISSET(sig_item))
- sub->arg_info->pos_optional++;
+ ++sub->arg_info->pos_optional;
else
- sub->arg_info->pos_required++;
+ ++sub->arg_info->pos_required;
}
}
}
@@ -907,8 +907,7 @@
EXCEPTION_INVALID_OPERATION,
"Unknown introspection value '%S'", what);
- retval = Parrot_pmc_new(INTERP, enum_class_Integer);
- VTABLE_set_integer_native(INTERP, retval, count_found);
+ retval = Parrot_pmc_new_init_int(INTERP, enum_class_Integer, count_found);
return retval;
}
Modified: branches/codestring/src/pmc/task.pmc
==============================================================================
--- branches/codestring/src/pmc/task.pmc Mon May 3 13:16:49 2010 (r46234)
+++ branches/codestring/src/pmc/task.pmc Mon May 3 14:39:34 2010 (r46235)
@@ -210,8 +210,8 @@
PMC *value;
if (Parrot_str_equal(interp, name, CONST_STRING(interp, "id"))) {
- value = Parrot_pmc_new(interp, enum_class_Integer);
- VTABLE_set_integer_native(interp, value, core_struct->id);
+ value = Parrot_pmc_new_init_int(interp, enum_class_Integer,
+ core_struct->id);
}
else if (Parrot_str_equal(interp, name, CONST_STRING(interp, "type"))) {
value = Parrot_pmc_new(interp, enum_class_String);
@@ -222,8 +222,8 @@
VTABLE_set_string_native(interp, value, core_struct->subtype);
}
else if (Parrot_str_equal(interp, name, CONST_STRING(interp, "priority"))) {
- value = Parrot_pmc_new(interp, enum_class_Integer);
- VTABLE_set_integer_native(interp, value, core_struct->priority);
+ value = Parrot_pmc_new_init_int(interp, enum_class_Integer,
+ core_struct->priority);
}
else if (Parrot_str_equal(interp, name, CONST_STRING(interp, "status"))) {
value = Parrot_pmc_new(interp, enum_class_String);
Copied: branches/codestring/src/pmc/threadinterpreter.pmc (from r46234, trunk/src/pmc/threadinterpreter.pmc)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ branches/codestring/src/pmc/threadinterpreter.pmc Mon May 3 14:39:34 2010 (r46235, copy of r46234, trunk/src/pmc/threadinterpreter.pmc)
@@ -0,0 +1,91 @@
+/*
+Copyright (C) 2001-2007, Parrot Foundation.
+$Id$
+
+=head1 NAME
+
+src/pmc/threadinterpreter.pmc - INTERNAL Interpreter for OS level worker thread(pthread).
+
+=head1 DESCRIPTION
+
+ThreadInterpreter extends ParrotInterpreter to provide a interpreter
+to be used internally in a OS level worker thread(pthread).
+which supports:
+
+=head2 Methods
+
+=over 4
+
+=cut
+
+*/
+
+#include "parrot/embed.h"
+
+/* HEADERIZER HFILE: none */
+/* HEADERIZER BEGIN: static */
+/* Don't modify between HEADERIZER BEGIN / HEADERIZER END. Your changes will be lost. */
+
+static void stop_GC(Interp *parent, Interp *thread);
+#define ASSERT_ARGS_stop_GC __attribute__unused__ int _ASSERT_ARGS_CHECK = (0)
+/* Don't modify between HEADERIZER BEGIN / HEADERIZER END. Your changes will be lost. */
+/* HEADERIZER END: static */
+
+#define PMC_interp(x) ((Parrot_ParrotInterpreter_attributes *)PMC_data(x))->interp
+
+/*
+ * can't do multi-threaded GC yet
+ * XXX a quick hack to pass the few tests
+ */
+static void
+stop_GC(Interp *parent, Interp *thread)
+{
+ ASSERT_ARGS(stop_GC)
+ Parrot_block_GC_mark(parent);
+ Parrot_block_GC_mark(thread);
+ Parrot_block_GC_sweep(parent);
+ Parrot_block_GC_sweep(thread);
+}
+
+
+
+pmclass ThreadInterpreter extends ParrotInterpreter no_ro {
+
+/*
+
+=item C<void init()>
+
+Initializes the thread.
+
+=cut
+
+*/
+
+ VTABLE void init() {
+ /* protect interpreter creation and list handling */
+ LOCK(interpreter_array_mutex);
+
+ SUPER();
+ pt_add_to_interpreters(INTERP, PMC_interp(SELF));
+
+ UNLOCK(interpreter_array_mutex);
+
+ /* can't allow GC runs for now */
+ stop_GC(INTERP, PMC_interp(SELF));
+ }
+}
+
+/*
+
+=back
+
+=cut
+
+*/
+
+/*
+ * Local variables:
+ * c-file-style: "parrot"
+ * End:
+ * vim: expandtab shiftwidth=4:
+ */
Modified: branches/codestring/src/pmc_freeze.c
==============================================================================
--- branches/codestring/src/pmc_freeze.c Mon May 3 13:16:49 2010 (r46234)
+++ branches/codestring/src/pmc_freeze.c Mon May 3 14:39:34 2010 (r46235)
@@ -61,12 +61,38 @@
/*
+=item C<STRING * Parrot_freeze_pbc(PARROT_INTERP, PMC *pmc, const
+PackFile_ConstTable *pf)>
+
+Freeze to a PackFile.
+
+=cut
+
+*/
+
+PARROT_EXPORT
+PARROT_WARN_UNUSED_RESULT
+STRING *
+Parrot_freeze_pbc(PARROT_INTERP, ARGIN(PMC *pmc), ARGIN(const PackFile_ConstTable *pf)) {
+ ASSERT_ARGS(Parrot_freeze_pbc)
+ PMC *pf_pmc, *visitor;
+
+ pf_pmc = Parrot_pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, pf_pmc, (void *)pf);
+
+ visitor = Parrot_pmc_new_init(interp, enum_class_ImageIO, pf_pmc);
+ VTABLE_set_pmc(interp, visitor, pmc);
+
+ return VTABLE_get_string(interp, visitor);
+}
+
+
+/*
+
=item C<UINTVAL Parrot_freeze_size(PARROT_INTERP, PMC *pmc)>
Get the size of an image to be frozen without allocating a large buffer.
-Used in C<Packfile_Constant_pack_size>.
-
=cut
*/
@@ -86,6 +112,58 @@
return int_result;
}
+/*
+
+=item C<UINTVAL Parrot_freeze_pbc_size(PARROT_INTERP, PMC *pmc, const
+PackFile_ConstTable *pf)>
+
+Get the size of an image if it were created using C<Parrot_freeze_pbc>.
+
+=cut
+
+*/
+
+PARROT_EXPORT
+PARROT_WARN_UNUSED_RESULT
+UINTVAL
+Parrot_freeze_pbc_size(PARROT_INTERP, ARGIN(PMC *pmc), ARGIN(const PackFile_ConstTable *pf))
+{
+ ASSERT_ARGS(Parrot_freeze_pbc_size)
+ PMC *pf_pmc, *visitor, *pmc_result;
+
+ pf_pmc = Parrot_pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, pf_pmc, (void *)pf);
+
+ visitor = Parrot_pmc_new_init(interp, enum_class_ImageIOSize, pf_pmc);
+ VTABLE_set_pmc(interp, visitor, pmc);
+
+ pmc_result = VTABLE_get_pmc(interp, visitor);
+ return VTABLE_get_integer(interp, pmc_result);
+}
+
+
+/*
+
+=item C<PMC * Parrot_freeze_strings(PARROT_INTERP, PMC *pmc)>
+
+Get the strings of a PMC to be frozen.
+
+=cut
+
+*/
+
+PARROT_EXPORT
+PARROT_WARN_UNUSED_RESULT
+PARROT_CANNOT_RETURN_NULL
+PMC *
+Parrot_freeze_strings(PARROT_INTERP, PMC *pmc)
+{
+ ASSERT_ARGS(Parrot_freeze_strings)
+ PMC *visitor = Parrot_pmc_new(interp, enum_class_ImageIOStrings);
+ VTABLE_set_pmc(interp, visitor, pmc);
+ return VTABLE_get_pmc(interp, visitor);
+}
+
/*
@@ -146,6 +224,47 @@
/*
+=item C<PMC* Parrot_thaw_pbc(PARROT_INTERP, STRING *image, PackFile_ConstTable
+*pf)>
+
+Thaw a pmc frozen by Parrot_freeze_pbc.
+
+=cut
+
+*/
+
+PARROT_EXPORT
+PARROT_WARN_UNUSED_RESULT
+PARROT_CAN_RETURN_NULL
+PMC*
+Parrot_thaw_pbc(PARROT_INTERP, ARGIN(STRING *image), ARGIN(PackFile_ConstTable *pf))
+{
+ ASSERT_ARGS(Parrot_thaw_pbc)
+ PMC *info, *pf_pmc, *result;
+
+ pf_pmc = Parrot_pmc_new(interp, enum_class_UnManagedStruct);
+ VTABLE_set_pointer(interp, pf_pmc, pf);
+
+ info = Parrot_pmc_new_init(interp, enum_class_ImageIO, pf_pmc);
+
+ /* TODO
+ * Find out what broken code depends on blocking GC here and fix it, regardless of performance
+ * wins.
+ */
+ Parrot_block_GC_mark(interp);
+ Parrot_block_GC_sweep(interp);
+
+ VTABLE_set_string_native(interp, info, image);
+ result = VTABLE_get_pmc(interp, info);
+
+ Parrot_unblock_GC_mark(interp);
+ Parrot_unblock_GC_sweep(interp);
+
+ return result;
+}
+
+/*
+
=item C<PMC* Parrot_thaw_constants(PARROT_INTERP, STRING *image)>
Thaws constants, used by PackFile for unpacking PMC constants.
@@ -206,7 +325,7 @@
PMC * const todo = VTABLE_get_iter(interp, info);
/* can't cache upper limit, visit may append items */
- for (i = 0; i < VTABLE_elements(interp, todo); i++) {
+ for (i = 0; i < VTABLE_elements(interp, todo); ++i) {
PMC * const current = VTABLE_get_pmc_keyed_int(interp, todo, i);
if (!current)
Parrot_ex_throw_from_c_args(interp, NULL, 1,
Modified: branches/codestring/src/runcore/cores.c
==============================================================================
--- branches/codestring/src/runcore/cores.c Mon May 3 13:16:49 2010 (r46234)
+++ branches/codestring/src/runcore/cores.c Mon May 3 14:39:34 2010 (r46235)
@@ -73,7 +73,7 @@
structure to execute opcodes. Here's a brief example of how this
architecture works:
- for( ; ; current_opcode++) {
+ for( ; ; ++current_opcode) {
switch(*current_opcode) {
case opcode_1:
...
Modified: branches/codestring/src/runcore/profiling.c
==============================================================================
--- branches/codestring/src/runcore/profiling.c Mon May 3 13:16:49 2010 (r46234)
+++ branches/codestring/src/runcore/profiling.c Mon May 3 14:39:34 2010 (r46235)
@@ -334,7 +334,7 @@
preop_ctx->current_pc = pc;
preop_pc = pc;
- runcore->level++;
+ ++runcore->level;
Profiling_exit_check_CLEAR(runcore);
runcore->op_start = Parrot_hires_get_time();
@@ -349,7 +349,7 @@
else
op_time = runcore->op_finish - runcore->op_start;
- runcore->level--;
+ --runcore->level;
/* if current context changed since the last printing of a CS line... */
/* Occasionally the ctx stays the same while the sub changes, possible
@@ -375,7 +375,7 @@
ns_separator = Parrot_str_new(interp, ";", 1);
i = MAX_NS_DEPTH - 1;
- for (;ns ; i--) {
+ for (;ns ; --i) {
if (i < 0) {
/* should probably warn about truncated namespace here */
break;
@@ -384,9 +384,8 @@
GETATTR_NameSpace_parent(interp, ns, ns);
}
- i++;
- i++; /* the root namespace has an empty name, so ignore it */
- for (;i < MAX_NS_DEPTH; i++) {
+ i += 2; /* the root namespace has an empty name, so ignore it */
+ for (;i < MAX_NS_DEPTH; ++i) {
full_ns = Parrot_str_concat(interp, full_ns, ns_names[i]);
full_ns = Parrot_str_concat(interp, full_ns, ns_separator);
}
@@ -511,7 +510,7 @@
pprof_data[PPROF_DATA_OPNAME] = (PPROF_DATA) "noop";
runcore->output_fn(runcore, pprof_data, PPROF_LINE_OP);
- runcore->runloop_count++;
+ ++runcore->runloop_count;
}
/*
Modified: branches/codestring/src/runcore/trace.c
==============================================================================
--- branches/codestring/src/runcore/trace.c Mon May 3 13:16:49 2010 (r46234)
+++ branches/codestring/src/runcore/trace.c Mon May 3 14:39:34 2010 (r46235)
@@ -316,7 +316,7 @@
INTVAL i;
len += Parrot_io_eprintf(debugger, " ");
/* pass 1 print arguments */
- for (i = s; i < n; i++) {
+ for (i = s; i < n; ++i) {
const opcode_t o = pc[i];
if (i < info->op_count)
@@ -415,7 +415,7 @@
Parrot_io_eprintf(debugger, "\t");
/* pass 2 print argument details if needed */
- for (i = 1; i < n; i++) {
+ for (i = 1; i < n; ++i) {
const opcode_t o = pc[i];
if (i < info->op_count)
type = info->types[i - 1];
Modified: branches/codestring/src/scheduler.c
==============================================================================
--- branches/codestring/src/scheduler.c Mon May 3 13:16:49 2010 (r46234)
+++ branches/codestring/src/scheduler.c Mon May 3 14:39:34 2010 (r46235)
@@ -445,7 +445,7 @@
LOCK(sched_struct->msg_lock);
/* Search the task index for GC suspend tasks */
num_tasks = VTABLE_elements(interp, sched_struct->messages);
- for (index = 0; index < num_tasks; index++) {
+ for (index = 0; index < num_tasks; ++index) {
PMC *message = VTABLE_get_pmc_keyed_int(interp, sched_struct->messages, index);
if (!PMC_IS_NULL(message)
&& Parrot_str_equal(interp, VTABLE_get_string(interp, message),
@@ -612,11 +612,11 @@
switch (htype) {
case Hexception:
if (VTABLE_isa(interp, handler, handler_name))
- count++;
+ ++count;
break;
case Hevent:
if (handler->vtable->base_type == enum_class_EventHandler)
- count++;
+ ++count;
break;
default:
break;
@@ -1069,7 +1069,7 @@
/* Sweep the wait list for completed timers */
num_tasks = VTABLE_elements(interp, sched_struct->wait_index);
- for (index = 0; index < num_tasks; index++) {
+ for (index = 0; index < num_tasks; ++index) {
INTVAL tid = VTABLE_get_integer_keyed_int(interp, sched_struct->wait_index, index);
if (tid > 0) {
PMC *task = VTABLE_get_pmc_keyed_int(interp, sched_struct->task_list, tid);
Modified: branches/codestring/src/spf_render.c
==============================================================================
--- branches/codestring/src/spf_render.c Mon May 3 13:16:49 2010 (r46234)
+++ branches/codestring/src/spf_render.c Mon May 3 14:39:34 2010 (r46235)
@@ -144,12 +144,12 @@
if (info->flags & FLAG_PLUS) {
STRING * const cs = CONST_STRING(interp, "+");
str = Parrot_str_concat(interp, cs, str);
- len++;
+ ++len;
}
else if (info->flags & FLAG_SPACE) {
STRING * const cs = CONST_STRING(interp, " ");
str = Parrot_str_concat(interp, cs, str);
- len++;
+ ++len;
}
}
@@ -340,7 +340,7 @@
STRING *substr = NULL;
char tc[PARROT_SPRINTF_BUFFER_SIZE];
- for (i = 0; i < pat_len; i++) {
+ for (i = 0; i < pat_len; ++i) {
if (string_ord(interp, pat, i) == '%') { /* % */
if (len) {
substr = Parrot_str_substr(interp, pat, old, len);
@@ -352,9 +352,9 @@
if (string_ord(interp, pat, i + 1) == '%') {
/* skip this one, make next the first char
* of literal sequence, starting at old */
- i++;
- old++;
- len++;
+ ++i;
+ ++old;
+ ++len;
continue;
}
else {
@@ -459,7 +459,7 @@
* set flags--the last does all the work.
*/
- for (i++; i < pat_len && info.phase != PHASE_DONE; i++) {
+ for (++i; i < pat_len && info.phase != PHASE_DONE; ++i) {
const INTVAL ch = string_ord(interp, pat, i);
switch (info.phase) {
@@ -783,7 +783,7 @@
|| ch == 'e' || ch == 'E') {
const size_t tclen = strlen(tc);
size_t j;
- for (j = 0; j < tclen; j++) {
+ for (j = 0; j < tclen; ++j) {
if ((tc[j] == 'e' || tc[j] == 'E')
&& (tc[j+1] == '+' || tc[j+1] == '-')
&& tc[j+2] == '0'
@@ -831,7 +831,7 @@
STRING * const string = (VTABLE_get_repr(interp, tmp));
STRING * const ts = handle_flags(interp, &info,
string, 0, NULL);
- obj->index++;
+ ++obj->index;
targ = Parrot_str_concat(interp, targ, ts);
break;
@@ -855,7 +855,7 @@
/* fake the old %P and %S commands */
if (info.type == SIZE_PMC
|| info.type == SIZE_PSTR) {
- i--;
+ --i;
goto CASE_s;
/* case 's' will see the SIZE_PMC or SIZE_PSTR
* and assume it was %Ps (or %Ss). Genius,
@@ -882,10 +882,10 @@
}
old = i;
- i--;
+ --i;
}
else {
- len++;
+ ++len;
}
}
if (len) {
Modified: branches/codestring/src/spf_vtable.c
==============================================================================
--- branches/codestring/src/spf_vtable.c Mon May 3 13:16:49 2010 (r46234)
+++ branches/codestring/src/spf_vtable.c Mon May 3 14:39:34 2010 (r46235)
@@ -450,7 +450,7 @@
((PMC *)obj->data),
(obj->index));
- obj->index++;
+ ++obj->index;
s = VTABLE_get_string(interp, tmp);
/* XXX Parrot_str_copy like below? + adjusting bufused */
return Parrot_str_substr(interp, s, 0, 1);
@@ -473,13 +473,12 @@
getint_pmc(PARROT_INTERP, INTVAL size, ARGIN(SPRINTF_OBJ *obj))
{
ASSERT_ARGS(getint_pmc)
- HUGEINTVAL ret;
+
PMC * const tmp = VTABLE_get_pmc_keyed_int(interp,
((PMC *)obj->data),
- (obj->index));
+ (obj->index++));
- obj->index++;
- ret = VTABLE_get_integer(interp, tmp);
+ HUGEINTVAL ret = VTABLE_get_integer(interp, tmp);
switch (size) {
case SIZE_SHORT:
@@ -513,13 +512,12 @@
getuint_pmc(PARROT_INTERP, INTVAL size, ARGIN(SPRINTF_OBJ *obj))
{
ASSERT_ARGS(getuint_pmc)
- UHUGEINTVAL ret;
+
PMC * const tmp = VTABLE_get_pmc_keyed_int(interp,
((PMC *)obj->data),
- (obj->index));
+ (obj->index++));
- obj->index++;
- ret = (UINTVAL)VTABLE_get_integer(interp, tmp);
+ UHUGEINTVAL ret = (UINTVAL)VTABLE_get_integer(interp, tmp);
switch (size) {
case SIZE_SHORT:
@@ -553,13 +551,11 @@
getfloat_pmc(PARROT_INTERP, INTVAL size, ARGIN(SPRINTF_OBJ *obj))
{
ASSERT_ARGS(getfloat_pmc)
- HUGEFLOATVAL ret;
- PMC * const tmp = VTABLE_get_pmc_keyed_int(interp,
+ PMC * const tmp = VTABLE_get_pmc_keyed_int(interp,
((PMC *)obj->data),
- (obj->index));
+ (obj->index++));
- obj->index++;
- ret = (HUGEFLOATVAL)(VTABLE_get_number(interp, tmp));
+ HUGEFLOATVAL ret = (HUGEFLOATVAL)(VTABLE_get_number(interp, tmp));
switch (size) {
case SIZE_SHORT:
@@ -591,14 +587,13 @@
getstring_pmc(PARROT_INTERP, SHIM(INTVAL size), ARGIN(SPRINTF_OBJ *obj))
{
ASSERT_ARGS(getstring_pmc)
- STRING *s;
+
PMC * const tmp = VTABLE_get_pmc_keyed_int(interp,
((PMC *)obj->data),
- (obj->index));
+ (obj->index++));
- obj->index++;
- s = (STRING *)(VTABLE_get_string(interp, tmp));
- return s;
+ STRING * const str = (STRING *)(VTABLE_get_string(interp, tmp));
+ return str;
}
/*
@@ -619,11 +614,9 @@
{
ASSERT_ARGS(getptr_pmc)
PMC * const tmp = VTABLE_get_pmc_keyed_int(interp,
- ((PMC *)obj->data), (obj->index));
+ ((PMC *)obj->data), (obj->index++));
const INTVAL i = VTABLE_get_integer(interp, tmp);
- obj->index++;
-
/* XXX correct? */
return (void *)i;
}
Modified: branches/codestring/src/string/api.c
==============================================================================
--- branches/codestring/src/string/api.c Mon May 3 13:16:49 2010 (r46234)
+++ branches/codestring/src/string/api.c Mon May 3 14:39:34 2010 (r46235)
@@ -1022,7 +1022,7 @@
UINTVAL i;
char * destpos = dest->strstart;
const char * const srcpos = s->strstart;
- for (i = 0; i < num; i++) {
+ for (i = 0; i < num; ++i) {
mem_sys_memcopy(destpos, srcpos, length);
destpos += length;
}
@@ -2014,7 +2014,7 @@
d = d*10 + (c-'0');
if (d >= max_safe)
d_is_safe = 0;
- d_length++;
+ ++d_length;
}
else if (c == 'e' || c == 'E')
state = parse_after_e;
@@ -2583,8 +2583,8 @@
if (d == offs) {
/* we did it in place - no action */
++d;
- iter.bytepos++;
- iter.charpos++;
+ ++(iter.bytepos);
+ ++(iter.charpos);
continue;
}
Modified: branches/codestring/src/string/charset.c
==============================================================================
--- branches/codestring/src/string/charset.c Mon May 3 13:16:49 2010 (r46234)
+++ branches/codestring/src/string/charset.c Mon May 3 14:39:34 2010 (r46235)
@@ -348,7 +348,7 @@
all_charsets->set = mem_gc_realloc_n_typed_zeroed(interp,
all_charsets->set, n + 1, n, One_charset);
- all_charsets->n_charsets++;
+ ++all_charsets->n_charsets;
all_charsets->set[n].charset = charset;
all_charsets->set[n].n_converters = 0;
@@ -372,7 +372,7 @@
{
ASSERT_ARGS(Parrot_str_internal_register_charset_names)
int n;
- for (n = 0; n < all_charsets->n_charsets; n++)
+ for (n = 0; n < all_charsets->n_charsets; ++n)
all_charsets->set[n].name =
Parrot_str_new_constant(interp, all_charsets->set[n].charset->name);
}
Modified: branches/codestring/src/string/charset/ascii.c
==============================================================================
--- branches/codestring/src/string/charset/ascii.c Mon May 3 13:16:49 2010 (r46234)
+++ branches/codestring/src/string/charset/ascii.c Mon May 3 14:39:34 2010 (r46235)
@@ -316,7 +316,7 @@
char * const buffer = result->strstart;
UINTVAL offset;
- for (offset = 0; offset < n; offset++) {
+ for (offset = 0; offset < n; ++offset) {
buffer[offset] = (char)toupper((unsigned char)buffer[offset]);
}
}
@@ -346,7 +346,7 @@
char * const buffer = result->strstart;
UINTVAL offset;
- for (offset = 0; offset < n; offset++) {
+ for (offset = 0; offset < n; ++offset) {
buffer[offset] = (char)tolower((unsigned char)buffer[offset]);
}
}
@@ -379,7 +379,7 @@
UINTVAL offset;
buffer[0] = (char)toupper((unsigned char)buffer[0]);
- for (offset = 1; offset < n; offset++) {
+ for (offset = 1; offset < n; ++offset) {
buffer[offset] = (char)tolower((unsigned char)buffer[offset]);
}
}
Modified: branches/codestring/src/string/charset/iso-8859-1.c
==============================================================================
--- branches/codestring/src/string/charset/iso-8859-1.c Mon May 3 13:16:49 2010 (r46234)
+++ branches/codestring/src/string/charset/iso-8859-1.c Mon May 3 14:39:34 2010 (r46235)
@@ -331,7 +331,7 @@
return result;
buffer = (unsigned char *)result->strstart;
- for (offset = 0; offset < result->strlen; offset++) {
+ for (offset = 0; offset < result->strlen; ++offset) {
unsigned int c = buffer[offset]; /* XXX use encoding ? */
if (c >= 0xe0 && c != 0xf7)
c &= ~0x20;
@@ -367,7 +367,7 @@
return result;
buffer = (unsigned char *)result->strstart;
- for (offset = 0; offset < result->strlen; offset++) {
+ for (offset = 0; offset < result->strlen; ++offset) {
unsigned int c = buffer[offset];
if (c >= 0xc0 && c != 0xd7 && c <= 0xde)
c |= 0x20;
@@ -411,7 +411,7 @@
c = toupper((unsigned char)c);
buffer[0] = (unsigned char)c;
- for (offset = 1; offset < result->strlen; offset++) {
+ for (offset = 1; offset < result->strlen; ++offset) {
c = buffer[offset];
if (c >= 0xc0 && c != 0xd7 && c <= 0xde)
c |= 0x20;
Modified: branches/codestring/src/string/encoding.c
==============================================================================
--- branches/codestring/src/string/encoding.c Mon May 3 13:16:49 2010 (r46234)
+++ branches/codestring/src/string/encoding.c Mon May 3 14:39:34 2010 (r46235)
@@ -327,7 +327,7 @@
else
all_encodings->enc = mem_gc_realloc_n_typed_zeroed(interp,
all_encodings->enc, n + 1, n, One_encoding);
- all_encodings->n_encodings++;
+ ++all_encodings->n_encodings;
all_encodings->enc[n].encoding = encoding;
return 1;
@@ -351,7 +351,7 @@
{
ASSERT_ARGS(Parrot_str_internal_register_encoding_names)
int n;
- for (n = 0; n < all_encodings->n_encodings; n++)
+ for (n = 0; n < all_encodings->n_encodings; ++n)
all_encodings->enc[n].name =
Parrot_str_new_constant(interp, all_encodings->enc[n].encoding->name);
}
Modified: branches/codestring/src/string/encoding/fixed_8.c
==============================================================================
--- branches/codestring/src/string/encoding/fixed_8.c Mon May 3 13:16:49 2010 (r46234)
+++ branches/codestring/src/string/encoding/fixed_8.c Mon May 3 14:39:34 2010 (r46235)
@@ -388,7 +388,7 @@
{
ASSERT_ARGS(fixed8_get_next)
const UINTVAL c = get_byte(interp, iter->str, iter->charpos++);
- iter->bytepos++;
+ ++iter->bytepos;
return c;
}
@@ -409,7 +409,7 @@
{
ASSERT_ARGS(fixed8_set_next)
set_byte(interp, iter->str, iter->charpos++, c);
- iter->bytepos++;
+ ++iter->bytepos;
}
/*
Modified: branches/codestring/src/string/encoding/ucs2.c
==============================================================================
--- branches/codestring/src/string/encoding/ucs2.c Mon May 3 13:16:49 2010 (r46234)
+++ branches/codestring/src/string/encoding/ucs2.c Mon May 3 14:39:34 2010 (r46235)
@@ -423,7 +423,7 @@
* iter versions
*/
const UChar c = s[pos++];
- i->charpos++;
+ ++i->charpos;
i->bytepos = pos * sizeof (UChar);
return c;
#else
@@ -457,7 +457,7 @@
UChar *s = (UChar*) i->str->strstart;
UINTVAL pos = i->bytepos / sizeof (UChar);
s[pos++] = (UChar)c;
- i->charpos++;
+ ++i->charpos;
i->bytepos = pos * sizeof (UChar);
#else
/* This function must never be called if compiled without ICU.
Modified: branches/codestring/src/string/encoding/utf16.c
==============================================================================
--- branches/codestring/src/string/encoding/utf16.c Mon May 3 13:16:49 2010 (r46234)
+++ branches/codestring/src/string/encoding/utf16.c Mon May 3 14:39:34 2010 (r46235)
@@ -485,7 +485,7 @@
* iter versions
*/
U16_NEXT_UNSAFE(s, pos, c);
- i->charpos++;
+ ++i->charpos;
i->bytepos = pos * sizeof (UChar);
return c;
}
@@ -509,7 +509,7 @@
UChar * const s = (UChar*) i->str->strstart;
UINTVAL pos = i->bytepos / sizeof (UChar);
U16_APPEND_UNSAFE(s, pos, c);
- i->charpos++;
+ ++i->charpos;
i->bytepos = pos * sizeof (UChar);
}
Modified: branches/codestring/src/string/encoding/utf8.c
==============================================================================
--- branches/codestring/src/string/encoding/utf8.c Mon May 3 13:16:49 2010 (r46234)
+++ branches/codestring/src/string/encoding/utf8.c Mon May 3 14:39:34 2010 (r46235)
@@ -229,7 +229,7 @@
while (u8ptr < u8end) {
u8ptr += UTF8SKIP(u8ptr);
- characters++;
+ ++characters;
}
if (u8ptr > u8end)
@@ -261,8 +261,8 @@
UINTVAL count;
c &= UTF8_START_MASK(len);
- for (count = 1; count < len; count++) {
- u8ptr++;
+ for (count = 1; count < len; ++count) {
+ ++u8ptr;
if (!UTF8_IS_CONTINUATION(*u8ptr))
Parrot_ex_throw_from_c_args(interp, NULL, EXCEPTION_MALFORMED_UTF8,
@@ -365,9 +365,9 @@
const utf8_t *u8ptr = (const utf8_t *)ptr;
while (n-- > 0) {
- u8ptr--;
+ --u8ptr;
while (UTF8_IS_CONTINUATION(*u8ptr))
- u8ptr--;
+ --u8ptr;
}
return u8ptr;
@@ -408,8 +408,8 @@
c &= UTF8_START_MASK(len);
i->bytepos += len;
- for (len--; len; len--) {
- u8ptr++;
+ for (--len; len; --len) {
+ ++u8ptr;
if (!UTF8_IS_CONTINUATION(*u8ptr))
Parrot_ex_throw_from_c_args(interp, NULL, EXCEPTION_MALFORMED_UTF8,
@@ -427,10 +427,10 @@
"Malformed UTF-8 string\n");
}
else {
- i->bytepos++;
+ ++i->bytepos;
}
- i->charpos++;
+ ++i->charpos;
return c;
}
@@ -457,7 +457,7 @@
i->bytepos += (new_pos - pos);
/* XXX possible buffer overrun exception? */
PARROT_ASSERT(i->bytepos <= Buffer_buflen(s));
- i->charpos++;
+ ++i->charpos;
}
/*
Modified: branches/codestring/src/sub.c
==============================================================================
--- branches/codestring/src/sub.c Mon May 3 13:16:49 2010 (r46234)
+++ branches/codestring/src/sub.c Mon May 3 14:39:34 2010 (r46235)
@@ -181,7 +181,7 @@
if (!debug)
return 0;
- for (i = n = 0; n < sub->seg->base.size; i++) {
+ for (i = n = 0; n < sub->seg->base.size; ++i) {
op_info_t * const op_info = &interp->op_info_table[*pc];
opcode_t var_args = 0;
@@ -233,7 +233,7 @@
base_pc = sub->seg->base.data;
current_annotation = pc - base_pc;
- for (i = op = 0; op < debug_size; i++) {
+ for (i = op = 0; op < debug_size; ++i) {
op_info_t * const op_info = &interp->op_info_table[*base_pc];
opcode_t var_args = 0;
@@ -549,10 +549,11 @@
void *
Parrot_get_sub_pmc_from_subclass(PARROT_INTERP, ARGIN(PMC *subclass)) {
ASSERT_ARGS(Parrot_get_sub_pmc_from_subclass)
- PMC *key, *sub_pmc;
/* Ensure we really do have a subclass of sub. */
if (VTABLE_isa(interp, subclass, CONST_STRING(interp, "Sub"))) {
+ PMC *key, *sub_pmc;
+
/* If it's actually a PMC still, probably does the same structure
* underneath. */
if (!PObj_is_object_TEST(subclass)) {
Modified: branches/codestring/src/thread.c
==============================================================================
--- branches/codestring/src/thread.c Mon May 3 13:16:49 2010 (r46234)
+++ branches/codestring/src/thread.c Mon May 3 14:39:34 2010 (r46235)
@@ -705,152 +705,87 @@
/*
-=item C<int pt_thread_run(PARROT_INTERP, PMC *dest_interp, PMC *sub, PMC *arg)>
+=item C<PMC * pt_thread_create(PARROT_INTERP, INTVAL type, INTVAL clone_flags)>
-Runs the C<*sub> PMC in a separate thread using the interpreter in
-C<*dest_interp>.
-
-C<arg> should be an array of arguments for the subroutine.
+create a pt_thread
=cut
*/
-int
-pt_thread_run(PARROT_INTERP, ARGOUT(PMC *dest_interp), ARGIN(PMC *sub), ARGIN_NULLOK(PMC *arg))
+PMC *
+pt_thread_create(PARROT_INTERP, INTVAL type, INTVAL clone_flags)
{
- ASSERT_ARGS(pt_thread_run)
- PMC *old_dest_interp;
- PMC *parent;
- Interp * const interpreter = (Parrot_Interp)VTABLE_get_pointer(interp,
- dest_interp);
-
- Parrot_block_GC_sweep(interpreter);
- Parrot_block_GC_mark(interpreter);
- Parrot_block_GC_sweep(interp);
- Parrot_block_GC_mark(interp);
-
- /* make a copy of the ParrotThread PMC so we can use it
- * to hold parameters to the new thread without it being
- * garbage collected or otherwise changed by the parent thread.
- * Also so the new thread's getinterp doesn't return an object
- * owned by the wrong interpreter -- which would be very bad
- * if the parent is destroyed before the child.
- * XXX FIXME move this elsewhere? at least the set_pmc_keyed_int
- */
- old_dest_interp = dest_interp;
- dest_interp = Parrot_pmc_new_noinit(interpreter, enum_class_ParrotThread);
-
- /* so it's not accidentally deleted */
- VTABLE_set_pointer(interp, old_dest_interp, NULL);
- VTABLE_set_pointer(interp, dest_interp, interpreter);
-
- VTABLE_set_pmc_keyed_int(interpreter, interpreter->iglobals,
- (INTVAL) IGLOBALS_INTERPRETER, dest_interp);
-
- parent = VTABLE_get_pmc_keyed_int(interp, interp->iglobals,
- IGLOBALS_INTERPRETER);
-
- /*
- * TODO check if thread flags are consistent
- */
- if (interp->flags & PARROT_THR_COPY_INTERP)
- clone_interpreter(interpreter,
- (Parrot_Interp)VTABLE_get_pointer(interp, parent),
- PARROT_CLONE_DEFAULT);
- /*
- * TODO thread pools
- */
-
- pt_thread_prepare_for_run(interpreter, interp);
-
- SETATTR_ParrotInterpreter_sub(interp, dest_interp,
- pt_transfer_sub(interpreter, interp, sub));
- VTABLE_set_pmc(interp, dest_interp,
- make_local_args_copy(interpreter, interp, arg));
-
- /*
- * create a joinable thread
- */
- interpreter->thread_data->state = THREAD_STATE_JOINABLE;
-
- Parrot_unblock_GC_mark(interpreter);
- Parrot_unblock_GC_sweep(interpreter);
- Parrot_unblock_GC_mark(interp);
- Parrot_unblock_GC_sweep(interp);
-
- THREAD_CREATE_JOINABLE(interpreter->thread_data->thread,
- thread_func, dest_interp);
+ ASSERT_ARGS(pt_thread_create)
+ PMC *new_interp_pmc = pmc_new(interp, type);
+ Interp *new_interp = (Interp *)VTABLE_get_pointer(interp, new_interp_pmc);
- /* check for pending GC */
- LOCK(interpreter_array_mutex);
- if (interp->thread_data->state & THREAD_STATE_SUSPEND_GC_REQUESTED)
- pt_suspend_one_for_gc(interpreter);
+ clone_interpreter(new_interp, interp, clone_flags);
+ pt_thread_prepare_for_run(new_interp, interp);
- UNLOCK(interpreter_array_mutex);
- return 0;
+ return new_interp_pmc;
}
/*
-=item C<int pt_thread_run_1(PARROT_INTERP, PMC* dest_interp, PMC* sub, PMC
+=item C<int pt_thread_run(PARROT_INTERP, PMC *thread_interp_pmc, PMC *sub, PMC
*arg)>
-Runs a thread that shares nothing and does not communicate with the other
-interpreter.
+run a pt_thread
=cut
*/
int
-pt_thread_run_1(PARROT_INTERP, ARGOUT(PMC* dest_interp), ARGIN(PMC* sub), ARGIN(PMC *arg))
+pt_thread_run(PARROT_INTERP, PMC *thread_interp_pmc, ARGIN(PMC *sub), ARGIN_NULLOK(PMC *arg))
{
- ASSERT_ARGS(pt_thread_run_1)
- interp->flags |= PARROT_THR_TYPE_1;
- return pt_thread_run(interp, dest_interp, sub, arg);
-}
+ ASSERT_ARGS(pt_thread_run)
+ Interp *thread_interp = (Interp *)VTABLE_get_pointer(interp, thread_interp_pmc);
-/*
+ SETATTR_ParrotInterpreter_sub(interp,
+ thread_interp_pmc, pt_transfer_sub(thread_interp, interp, sub));
+ VTABLE_set_pmc(interp, thread_interp_pmc, make_local_args_copy(thread_interp, interp, arg));
+ thread_interp->thread_data->state = THREAD_STATE_JOINABLE;
-=item C<int pt_thread_run_2(PARROT_INTERP, PMC* dest_interp, PMC* sub, PMC
-*arg)>
+ THREAD_CREATE_JOINABLE(thread_interp->thread_data->thread, thread_func, thread_interp_pmc);
-Runs an interpreter in a thread with no shared variables, but which
-communicates by sending messages.
+ /* check for pending GC */
+ /*
+ * can't do multi-threaded GC yet
+ * XXX a quick hack to pass the few tests
-=cut
+ LOCK(interpreter_array_mutex);
+ if (interp->thread_data->state & THREAD_STATE_SUSPEND_GC_REQUESTED)
+ pt_suspend_one_for_gc(new_interp);
+ UNLOCK(interpreter_array_mutex);
-*/
+ */
-int
-pt_thread_run_2(PARROT_INTERP, ARGOUT(PMC* dest_interp), ARGIN(PMC* sub), ARGIN(PMC *arg))
-{
- ASSERT_ARGS(pt_thread_run_2)
- interp->flags |= PARROT_THR_TYPE_2;
- return pt_thread_run(interp, dest_interp, sub, arg);
+ return thread_interp->thread_data->tid;
}
/*
-=item C<int pt_thread_run_3(PARROT_INTERP, PMC* dest_interp, PMC* sub, PMC
-*arg)>
+=item C<int pt_thread_create_run(PARROT_INTERP, INTVAL type, INTVAL clone_flags,
+PMC *sub, PMC *arg)>
-Runs an interpreter in a thread, allowing shared variables and using a thread
-pool.
+create a pt_thread run
=cut
*/
int
-pt_thread_run_3(PARROT_INTERP, ARGOUT(PMC* dest_interp), ARGIN(PMC* sub), ARGIN(PMC *arg))
+pt_thread_create_run(PARROT_INTERP,
+ INTVAL type, INTVAL clone_flags, ARGIN(PMC *sub), ARGIN_NULLOK(PMC *arg))
{
- ASSERT_ARGS(pt_thread_run_3)
- interp->flags |= PARROT_THR_TYPE_3;
- return pt_thread_run(interp, dest_interp, sub, arg);
+ ASSERT_ARGS(pt_thread_create_run)
+ PMC *thread_interp_pmc = pt_thread_create(interp, type, clone_flags);
+ return pt_thread_run(interp, thread_interp_pmc, sub, arg);
}
+
/*
=item C<void pt_thread_yield(void)>
@@ -1299,7 +1234,7 @@
retval = PMCNULL;
}
interpreter_array[tid] = NULL;
- running_threads--;
+ --running_threads;
DEBUG_ONLY(fprintf(stderr, "destroying an interpreter [join]\n"));
if (Interp_debug_TEST(parent, PARROT_THREAD_DEBUG_FLAG))
@@ -1508,7 +1443,7 @@
new_interp->thread_data = mem_internal_allocate_zeroed_typed(Thread_data);
INTERPRETER_LOCK_INIT(new_interp);
- running_threads++;
+ ++running_threads;
if (Interp_debug_TEST(interp, PARROT_THREAD_DEBUG_FLAG))
fprintf(stderr, "running threads %d\n", running_threads);
Modified: branches/codestring/src/utils.c
==============================================================================
--- branches/codestring/src/utils.c Mon May 3 13:16:49 2010 (r46234)
+++ branches/codestring/src/utils.c Mon May 3 14:39:34 2010 (r46235)
@@ -845,7 +845,7 @@
c.temp_reg = temp_reg;
/* compute max_reg, the max reg number + 1 */
- for (i = 0; i < n_regs; i++) {
+ for (i = 0; i < n_regs; ++i) {
if (src_regs[i] > max_reg)
max_reg = src_regs[i];
if (dest_regs[i] > max_reg)
@@ -861,26 +861,26 @@
c.reg_to_index = reg_to_index = mem_gc_allocate_n_zeroed_typed(interp, max_reg, int);
/* init backup array */
- for (i = 0; i < n_regs; i++)
+ for (i = 0; i < n_regs; ++i)
backup[i] = -1;
/* fill in the conversion array between a register number and its index */
- for (i = 0; i < max_reg; i++)
+ for (i = 0; i < max_reg; ++i)
reg_to_index[i] = -1;
- for (i = 0; i < n_regs; i++) {
+ for (i = 0; i < n_regs; ++i) {
const int index = dest_regs[i];
if (index != src_regs[i]) /* get rid of self-assignment */
reg_to_index[index] = i;
}
/* count the nb of successors for each reg index */
- for (i = 0; i < n_regs; i++) {
+ for (i = 0; i < n_regs; ++i) {
const int index = reg_to_index[ src_regs[i] ];
if (index >= 0) /* not interested in the wells that have no preds */
- nb_succ[ index ]++;
+ ++nb_succ[index];
}
/* process each well if any */
- for (i = 0; i < n_regs; i++) {
+ for (i = 0; i < n_regs; ++i) {
if (0 == nb_succ[i]) { /* a well */
rec_climb_back_and_mark(i, &c);
}
@@ -888,7 +888,7 @@
/* process remaining dest registers not processed */
/* remaining nodes are members of cycles without exits */
- for (i = 0; i < n_regs; i++) {
+ for (i = 0; i < n_regs; ++i) {
if (0 < nb_succ[i] && 0 > backup[i]) { /* not a well nor visited*/
process_cycle_without_exit(i, &c);
}
Modified: branches/codestring/src/vtables.c
==============================================================================
--- branches/codestring/src/vtables.c Mon May 3 13:16:49 2010 (r46234)
+++ branches/codestring/src/vtables.c Mon May 3 14:39:34 2010 (r46235)
@@ -184,7 +184,7 @@
ASSERT_ARGS(parrot_free_vtables)
int i;
- for (i = 0; i < interp->n_vtable_max; i++)
+ for (i = 0; i < interp->n_vtable_max; ++i)
Parrot_destroy_vtable(interp, interp->vtables[i]);
mem_internal_free(interp->vtables);
@@ -206,7 +206,7 @@
ASSERT_ARGS(mark_vtables)
INTVAL i;
- for (i = 1; i < interp->n_vtable_max; i++) {
+ for (i = 1; i < interp->n_vtable_max; ++i) {
const VTABLE * const vtable = interp->vtables[i];
/* XXX dynpmc groups have empty slots for abstract objects */
Modified: branches/codestring/t/library/archive_tar.t
==============================================================================
--- branches/codestring/t/library/archive_tar.t Mon May 3 13:16:49 2010 (r46234)
+++ branches/codestring/t/library/archive_tar.t Mon May 3 14:39:34 2010 (r46235)
@@ -8,7 +8,7 @@
=head1 DESCRIPTION
-Test the Archive/TAR library
+Test the Archive/Tar library
=head1 SYNOPSIS
@@ -19,32 +19,34 @@
.sub 'main' :main
.include 'test_more.pir'
- load_bytecode 'Archive/TAR.pir'
+ load_bytecode 'Archive/Tar.pir'
- plan(11)
+ plan(12)
test_new()
test_tar()
.end
.sub 'test_new'
- $P0 = new ['Archive';'TAR']
- $I0 = isa $P0, ['Archive';'TAR']
- ok($I0, "new ['Archive';'TAR']")
- $P0 = new ['Archive';'TAR';'File']
- $I0 = isa $P0, ['Archive';'TAR';'File']
- ok($I0, "new ['Archive';'TAR';'File']")
+ $P0 = new ['Archive';'Tar']
+ $I0 = isa $P0, ['Archive';'Tar']
+ ok($I0, "new ['Archive';'Tar']")
+ $P0 = new ['Archive';'Tar';'File']
+ $I0 = isa $P0, ['Archive';'Tar';'File']
+ ok($I0, "new ['Archive';'Tar';'File']")
.end
.sub 'test_tar'
.local pmc archive, entry
- archive = new ['Archive';'TAR']
- $I0 = isa archive, ['Archive';'TAR']
- ok($I0, "test_atf")
+ archive = new ['Archive';'Tar']
+ $I0 = isa archive, ['Archive';'Tar']
+ ok($I0, "test_tar")
entry = archive.'add_data'('msg.txt', "some data")
- $I0 = isa entry, ['Archive';'TAR';'File']
- ok($I0, "entry is an ['Archive';'TAR';'File']")
+ $I0 = isa entry, ['Archive';'Tar';'File']
+ ok($I0, "entry is an ['Archive';'Tar';'File']")
$S0 = entry.'data'()
is($S0, "some data", "data")
+ $S0 = entry.'full_path'()
+ is($S0, 'msg.txt', "full_path")
.local string header
header = entry.'_format_tar_entry'()
$I0 = length header
Modified: branches/codestring/t/library/osutils.t
==============================================================================
--- branches/codestring/t/library/osutils.t Mon May 3 13:16:49 2010 (r46234)
+++ branches/codestring/t/library/osutils.t Mon May 3 14:39:34 2010 (r46235)
@@ -21,9 +21,11 @@
load_bytecode 'osutils.pir'
- plan(4)
+ plan(11)
test_basename()
test_dirname()
+ test_catfile()
+ test_splitpath()
.end
.sub 'test_basename'
@@ -42,6 +44,24 @@
is( $S0, '.', "dirname" )
.end
+.sub 'test_catfile'
+ $S0 = catfile('abc', 'def', 'ghi')
+ is($S0, 'abc/def/ghi', "catfile")
+.end
+
+.sub 'test_splitpath'
+ .local string volume, directories, file
+ (volume, directories, file) = splitpath('abc/def/ghi.txt')
+ is(volume, '', "splitpath vol")
+ is(directories, 'abc/def', "splitpath dirs")
+ is(file, 'ghi.txt', "splitpath file")
+
+ (volume, directories, file) = splitpath('c:/abc/def/ghi.txt')
+ is(volume, 'c:', "splitpath vol")
+ is(directories, '/abc/def', "splitpath dirs")
+ is(file, 'ghi.txt', "splitpath file")
+.end
+
# Local Variables:
# mode: pir
# fill-column: 100
Modified: branches/codestring/t/native_pbc/annotations.pbc
==============================================================================
Binary file (source and/or target). No diff available.
Modified: branches/codestring/t/native_pbc/integer_1.pbc
==============================================================================
Binary file (source and/or target). No diff available.
Modified: branches/codestring/t/native_pbc/number_1.pbc
==============================================================================
Binary file (source and/or target). No diff available.
Modified: branches/codestring/t/native_pbc/string_1.pbc
==============================================================================
Binary file (source and/or target). No diff available.
Copied: branches/codestring/t/pmc/imageiostrings.t (from r46234, trunk/t/pmc/imageiostrings.t)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ branches/codestring/t/pmc/imageiostrings.t Mon May 3 14:39:34 2010 (r46235, copy of r46234, trunk/t/pmc/imageiostrings.t)
@@ -0,0 +1,47 @@
+#!./parrot
+# Copyright (C) 2010, Parrot Foundation.
+# $Id$
+
+=head1 NAME
+
+t/pmc/imageiostrings.t - test ImageIOStrings PMC
+
+=head1 SYNOPSIS
+
+ % prove t/pmc/imageiostrings.t
+
+=head1 DESCRIPTION
+
+Tests the ImageIOStringsPMC.
+
+=cut
+
+.sub main :main
+ .include 'test_more.pir'
+
+ plan(3)
+
+ .local pmc iios
+ iios = new ['ImageIOStrings']
+ ok(1, 'instantiated ImageIOStrings')
+
+ .local pmc test_pmc
+ test_pmc = null
+ iios = new ['ImageIOStrings']
+ setref iios, test_pmc
+ $P0 = deref iios
+ $I0 = $P0
+ nok( $I0, 'no strings in null pmc' )
+
+ test_pmc = split ' ', 'spam sausage spam spam bacon spam tomato and spam'
+ iios = new ['ImageIOStrings']
+ setref iios, test_pmc
+ $P0 = deref iios
+ is_deeply( $P0, test_pmc, 'correctly manages RSA' )
+.end
+
+# Local Variables:
+# mode: pir
+# fill-column: 100
+# End:
+# vim: expandtab shiftwidth=4 ft=pir:
Deleted: branches/codestring/t/pmc/parrotrunningthread.t
==============================================================================
--- branches/codestring/t/pmc/parrotrunningthread.t Mon May 3 14:39:34 2010 (r46234)
+++ /dev/null 00:00:00 1970 (deleted)
@@ -1,56 +0,0 @@
-#!./parrot
-# Copyright (C) 2007-2008, Parrot Foundation.
-# $Id$
-
-=head1 NAME
-
-t/pmc/parrotrunningthread.t - test the ParrotRunningThread PMC
-
-=head1 SYNOPSIS
-
- % prove t/pmc/parrotrunningthread.t
-
-=head1 DESCRIPTION
-
-Tests the ParrotRunningThread PMC.
-
-=cut
-
-.sub 'main' :main
- .include 'test_more.pir'
-
- plan(2)
-
- new $P0, ['ParrotRunningThread']
- ok(1, 'Instantiated .ParrotRunningThread')
-
- test_set_integer_native($P0)
-.end
-
-.sub 'test_set_integer_native'
- .param pmc thread
-
- .local string desc
- desc = 'setting invalid thread id should throw exception'
-
- push_eh invalid_thread_id_handler
- thread = -1
- pop_eh
-
- ok(0, desc)
-
- invalid_thread_id_handler:
- .local pmc e, c
- .get_results( e )
-
- .local string message
- message = e
-
- is( message, 'Attempt to set invalid thread id -1', desc )
-.end
-
-# Local Variables:
-# mode: pir
-# fill-column: 100
-# End:
-# vim: expandtab shiftwidth=4 ft=pir:
Modified: branches/codestring/t/pmc/parrotthread.t
==============================================================================
--- branches/codestring/t/pmc/parrotthread.t Mon May 3 13:16:49 2010 (r46234)
+++ branches/codestring/t/pmc/parrotthread.t Mon May 3 14:39:34 2010 (r46235)
@@ -16,13 +16,14 @@
=cut
-.sub main :main
+.sub 'main' :main
.include 'test_more.pir'
plan(1)
new $P0, ['ParrotThread']
ok(1, 'Instantiated a ParrotThread PMC')
+
.end
# Local Variables:
Modified: branches/codestring/t/pmc/threads.t
==============================================================================
--- branches/codestring/t/pmc/threads.t Mon May 3 13:16:49 2010 (r46234)
+++ branches/codestring/t/pmc/threads.t Mon May 3 14:39:34 2010 (r46235)
@@ -47,7 +47,7 @@
ok1:
print "ok 1\n"
new P4, ['ParrotThread']
- ne P4, P2, ok2
+ ne P2, P4, ok2
print "not"
ok2:
print "ok 2\n"
@@ -182,7 +182,7 @@
CODE
ok 1
hello from thread
-ParrotThread tid 1
+ThreadInterpreter tid 1
from 10 interp
OUTPUT
@@ -215,7 +215,7 @@
branch lp
.end
CODE
-start 1
+start -1
in thread
done
OUTPUT
Modified: branches/codestring/t/src/embed.t
==============================================================================
--- branches/codestring/t/src/embed.t Mon May 3 13:16:49 2010 (r46234)
+++ branches/codestring/t/src/embed.t Mon May 3 14:39:34 2010 (r46235)
@@ -8,7 +8,7 @@
use Test::More;
use Parrot::Test;
-plan tests => 6;
+plan tests => 7;
=head1 NAME
@@ -24,7 +24,52 @@
=cut
-c_output_is( <<'CODE', <<'OUTPUT', "Minimal embed, using just the embed.h header" );
+sub linedirective
+{
+ # Provide a #line directive for the C code in the heredoc
+ # starting immediately after where this sub is called.
+ my $linenum = shift() + 1;
+ return "#line " . $linenum . ' "' . __FILE__ . '"' . "\n";
+}
+
+c_output_is(linedirective(__LINE__) . <<'CODE', <<'OUTPUT', 'Parrot_compile_string populates the error string when an opcode is given improper arguments');
+#include <stdio.h>
+#include <stdlib.h>
+#include "parrot/embed.h"
+
+void fail(const char *msg);
+
+void fail(const char *msg)
+{
+ fprintf(stderr, "failed: %s\n", msg);
+ exit(EXIT_FAILURE);
+}
+
+
+int main(int argc, const char **argv)
+{
+ Parrot_Interp interp;
+ Parrot_String err, lang;
+ Parrot_PMC func_pmc;
+ char *str;
+
+ interp = Parrot_new(NULL);
+ if (! interp)
+ fail("Cannot create parrot interpreter");
+ lang = Parrot_str_new_constant(interp, "PIR", 3);
+
+ func_pmc = Parrot_compile_string(interp, lang, ".sub foo\n copy\n.end", &err);
+ str = Parrot_str_to_cstring(interp, err);
+ puts(str);
+ Parrot_str_free_cstring(interp, str);
+ Parrot_destroy(interp);
+ return 0;
+}
+CODE
+The opcode 'copy' (copy<0>) was not found. Check the type and number of the arguments
+OUTPUT
+
+c_output_is(linedirective(__LINE__) . <<'CODE', <<'OUTPUT', "Minimal embed, using just the embed.h header" );
#include <stdio.h>
#include <stdlib.h>
@@ -54,7 +99,7 @@
Done
OUTPUT
-c_output_is( <<'CODE', <<'OUTPUT', "Hello world from main" );
+c_output_is(linedirective(__LINE__) . <<'CODE', <<'OUTPUT', "Hello world from main" );
#include <stdio.h>
#include <stdlib.h>
@@ -103,7 +148,7 @@
Hello, pir
OUTPUT
-c_output_is( <<'CODE', <<'OUTPUT', "Hello world from a sub" );
+c_output_is(linedirective(__LINE__) . <<'CODE', <<'OUTPUT', "Hello world from a sub" );
#include <stdio.h>
#include <stdlib.h>
@@ -169,7 +214,7 @@
Hello, sub
OUTPUT
-c_output_is( <<'CODE', <<'OUTPUT', "External sub" );
+c_output_is(linedirective(__LINE__) . <<'CODE', <<'OUTPUT', "External sub" );
#include <stdio.h>
#include <stdlib.h>
@@ -225,7 +270,7 @@
Hello from C
OUTPUT
-c_output_is( <<'CODE', <<'OUTPUT', "Insert external sub in namespace" );
+c_output_is(linedirective(__LINE__) . <<'CODE', <<'OUTPUT', "Insert external sub in namespace" );
#include <stdio.h>
#include <stdlib.h>
Deleted: branches/codestring/tools/docs/book-to-latex.pl
==============================================================================
--- branches/codestring/tools/docs/book-to-latex.pl Mon May 3 14:39:34 2010 (r46234)
+++ /dev/null 00:00:00 1970 (deleted)
@@ -1,34 +0,0 @@
-#! perl
-# Copyright (C) 2010, Parrot Foundation.
-# $Id$
-
-use strict;
-use warnings;
-
-use Pod::PseudoPod::LaTeX;
-
-print <<'HEADER';
-\documentclass[11pt,a4paper,oneside]{report}
-\usepackage{graphics,graphicx}
-\usepackage{colortbl}
-
-\begin{document}
-\tableofcontents
-HEADER
-
-for (@ARGV) {
- my $parser = Pod::PseudoPod::LaTeX->new();
- $parser->output_fh( *STDOUT );
- $parser->parse_file( $_ );
-}
-
-print <<'FOOTER';
-\end{document}
-FOOTER
-
-# Local Variables:
-# mode: cperl
-# cperl-indent-level: 4
-# fill-column: 100
-# End:
-# vim: expandtab shiftwidth=4:
Modified: branches/codestring/tools/docs/filename_and_chapter.pl
==============================================================================
--- branches/codestring/tools/docs/filename_and_chapter.pl Mon May 3 13:16:49 2010 (r46234)
+++ branches/codestring/tools/docs/filename_and_chapter.pl Mon May 3 14:39:34 2010 (r46235)
@@ -2,13 +2,20 @@
# Copyright (C) 2010, Parrot Foundation.
# $Id$
#
-# perl script that deliver all filenames and the associated chapters
+# perl script that writes modified POD files to the directory
+# 'build/modified_pod'. Then this script generates a latex file from
+# this POD.
#
use strict;
use warnings;
+# prototype
+sub write_mod($);
+
+
use Getopt::Long ();
+use Pod::PseudoPod::LaTeX;
my $item_list_ref = [ ['intro.pod', 'Introduction to Parrot'],
['overview.pod', 'Overview'],
@@ -16,29 +23,70 @@
];
my $lang = @$item_list_ref;
+my $MOD_BUILD_PATH='build/modified_pod/';
-my ( $result, $give_out, $b_out);
+my ( $result, $give_out );
$result = Getopt::Long::GetOptions (
"print" => \$give_out,
- "b_out" => \$b_out,
);
if ($give_out) {
for ( my $i=0; $i<$lang; $i++ )
- { print $$item_list_ref[$i][0], ' ' }
- exit;
-};
-
-if ($b_out) {
- for ( my $i=0; $i<$lang; $i++ )
- { print 'build/modified_pod/', $$item_list_ref[$i][0], ' ' }
+ { print $$item_list_ref[$i][0], "\n" }
exit;
};
-for (my $i=0; $i<$lang; $i++)
- { `sed -e '4,6c\=head0 $$item_list_ref[$i][1]' $$item_list_ref[$i][0] > build/modified_pod/$$item_list_ref[$i][0]` }
+for ( my $i=0; $i<$lang; $i++ ) {
+ write_mod( $i );
+}
+
+
+open my $TEX_FH, '>', 'build/parrot-book.tex');
+
+print $TEX_FH <<'HEADER';
+\documentclass[11pt,a4paper,oneside]{report}
+\usepackage{graphics,graphicx}
+\usepackage{colortbl}
+
+\begin{document}
+\tableofcontents
+HEADER
+
+for ( my $i=0; $i<$lang; $i++ ) {
+ my $parser = Pod::PseudoPod::LaTeX->new();
+ $parser->output_fh( $TEX_FH );
+ $parser->parse_file( "${MOD_BUILD_PATH}$$item_list_ref[$i][0]" );
+}
+
+print $TEX_FH <<'FOOTER';
+\end{document}
+FOOTER
+
+close( $TEX_FH );
+
+
+sub write_mod( $ ) {
+ my $icnt;
+
+ open( my $IN_FH, '<', "$$item_list_ref[$_[0]][0]" ) ||
+ die( "$0: can't open $$item_list_ref[$_[0]][0] for reading ($!)\n" );
+ open( my $OUT_FH, '>', "${MOD_BUILD_PATH}$$item_list_ref[$_[0]][0]" );
+
+ # do the same as: sed -e '4,6c\=head0 $$item_list_ref[$i][1]'
+ while( <$IN_FH> ) {
+ if ( $icnt = (4..6) ) {
+ if ( $icnt =~ /E0$/ ) {
+ print( $OUT_FH "=head0 $$item_list_ref[$_[0]][1]\n");
+ }
+ }
+ else { print( $OUT_FH ); }
+ }
+
+ close( $IN_FH );
+ close( $OUT_FH );
+}
# Local Variables:
More information about the parrot-commits
mailing list