[svn:parrot] r46399 - in branches/ops_pct: . compilers/imcc compilers/opsc config/gen config/gen/makefiles examples/shootout examples/tools include/parrot lib/Parrot/Pmc2c runtime/parrot/library runtime/parrot/library/Archive runtime/parrot/library/Getopt runtime/parrot/library/PGE runtime/parrot/library/Test runtime/parrot/library/Test/Builder src src/dynpmc src/gc src/interp src/ops src/pmc src/runcore src/string t/distro t/dynpmc t/library t/native_pbc t/pmc t/src tools/dev
cotto at svn.parrot.org
cotto at svn.parrot.org
Sat May 8 02:08:43 UTC 2010
Author: cotto
Date: Sat May 8 02:08:40 2010
New Revision: 46399
URL: https://trac.parrot.org/parrot/changeset/46399
Log:
sync branch with trunk
Added:
branches/ops_pct/runtime/parrot/library/Archive/Zip.pir
- copied unchanged from r46398, trunk/runtime/parrot/library/Archive/Zip.pir
branches/ops_pct/src/pmc/stringbuilder.pmc
- copied unchanged from r46398, trunk/src/pmc/stringbuilder.pmc
branches/ops_pct/t/distro/manifest_generated.t
- copied unchanged from r46398, trunk/t/distro/manifest_generated.t
branches/ops_pct/t/library/archive_zip.t
- copied unchanged from r46398, trunk/t/library/archive_zip.t
branches/ops_pct/t/pmc/stringbuilder.t
- copied unchanged from r46398, trunk/t/pmc/stringbuilder.t
Modified:
branches/ops_pct/ (props changed)
branches/ops_pct/MANIFEST
branches/ops_pct/MANIFEST.generated
branches/ops_pct/PBC_COMPAT
branches/ops_pct/compilers/imcc/pbc.c
branches/ops_pct/compilers/opsc/Defines.mak (props changed)
branches/ops_pct/compilers/opsc/Rules.mak (props changed)
branches/ops_pct/config/gen/config_pm.pm
branches/ops_pct/config/gen/makefiles/root.in
branches/ops_pct/examples/shootout/revcomp.pir
branches/ops_pct/examples/tools/pbc_checker.cpp
branches/ops_pct/include/parrot/embed.h
branches/ops_pct/include/parrot/interpreter.h
branches/ops_pct/include/parrot/packfile.h
branches/ops_pct/include/parrot/runcore_trace.h (props changed)
branches/ops_pct/include/parrot/string_funcs.h
branches/ops_pct/lib/Parrot/Pmc2c/PCCMETHOD.pm
branches/ops_pct/runtime/parrot/library/Getopt/Obj.pir
branches/ops_pct/runtime/parrot/library/PGE/Dumper.pir
branches/ops_pct/runtime/parrot/library/Test/Builder.pir
branches/ops_pct/runtime/parrot/library/Test/Builder/Test.pir
branches/ops_pct/runtime/parrot/library/Test/More.pir
branches/ops_pct/runtime/parrot/library/distutils.pir
branches/ops_pct/runtime/parrot/library/parrotlib.pir
branches/ops_pct/src/dynpmc/gziphandle.pmc
branches/ops_pct/src/embed.c
branches/ops_pct/src/gc/gc_ms.c
branches/ops_pct/src/hll.c
branches/ops_pct/src/interp/inter_create.c (contents, props changed)
branches/ops_pct/src/library.c
branches/ops_pct/src/ops/core_ops.c
branches/ops_pct/src/ops/io.ops
branches/ops_pct/src/ops/string.ops
branches/ops_pct/src/packfile.c
branches/ops_pct/src/packout.c
branches/ops_pct/src/pmc/codestring.pmc
branches/ops_pct/src/pmc/filehandle.pmc
branches/ops_pct/src/pmc/imageio.pmc
branches/ops_pct/src/pmc/imageiosize.pmc
branches/ops_pct/src/pmc/packfileannotations.pmc
branches/ops_pct/src/pmc/string.pmc
branches/ops_pct/src/runcore/cores.c (props changed)
branches/ops_pct/src/runcore/trace.c (props changed)
branches/ops_pct/src/string/api.c
branches/ops_pct/t/dynpmc/gziphandle.t
branches/ops_pct/t/native_pbc/annotations.pbc
branches/ops_pct/t/native_pbc/integer_1.pbc
branches/ops_pct/t/native_pbc/number_1.pbc
branches/ops_pct/t/native_pbc/string_1.pbc
branches/ops_pct/t/pmc/string.t
branches/ops_pct/t/src/embed.t (contents, props changed)
branches/ops_pct/tools/dev/mk_gitignore.pl (props changed)
branches/ops_pct/tools/dev/pbc_to_exe.pir
Modified: branches/ops_pct/MANIFEST
==============================================================================
--- branches/ops_pct/MANIFEST Sat May 8 01:36:41 2010 (r46398)
+++ branches/ops_pct/MANIFEST Sat May 8 02:08:40 2010 (r46399)
@@ -1,7 +1,7 @@
# ex: set ro:
# $Id$
#
-# generated by tools/dev/mk_manifest_and_skip.pl Thu May 6 01:22:31 2010 UT
+# generated by tools/dev/mk_manifest_and_skip.pl Sat May 8 02:06:01 2010 UT
#
# See below for documentation on the format of this file.
#
@@ -1153,6 +1153,7 @@
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/Zip.pir [library]
runtime/parrot/library/CGI/QueryHash.pir [library]
runtime/parrot/library/Config/JSON.pir [library]
runtime/parrot/library/Configure/genfile.pir [library]
@@ -1426,6 +1427,7 @@
src/pmc/sockaddr.pmc []
src/pmc/socket.pmc []
src/pmc/string.pmc []
+src/pmc/stringbuilder.pmc []
src/pmc/stringhandle.pmc []
src/pmc/stringiterator.pmc []
src/pmc/sub.pmc []
@@ -1642,6 +1644,7 @@
t/configure/testlib/verbosefoobar [test]
t/distro/file_metadata.t [test]
t/distro/manifest.t [test]
+t/distro/manifest_generated.t [test]
t/dynoplibs/math.t [test]
t/dynoplibs/obscure.t [test]
t/dynpmc/dynlexpad.t [test]
@@ -1671,6 +1674,7 @@
t/harness.pir [test]
t/include/fp_equality.t [test]
t/library/archive_tar.t [test]
+t/library/archive_zip.t [test]
t/library/cgi_query_hash.t [test]
t/library/configure.t [test]
t/library/coroutine.t [test]
@@ -1912,6 +1916,7 @@
t/pmc/sockaddr.t [test]
t/pmc/socket.t [test]
t/pmc/string.t [test]
+t/pmc/stringbuilder.t [test]
t/pmc/stringhandle.t [test]
t/pmc/stringiterator.t [test]
t/pmc/sub.t [test]
Modified: branches/ops_pct/MANIFEST.generated
==============================================================================
--- branches/ops_pct/MANIFEST.generated Sat May 8 01:36:41 2010 (r46398)
+++ branches/ops_pct/MANIFEST.generated Sat May 8 02:08:40 2010 (r46399)
@@ -2,255 +2,390 @@
# See tools/dev/install_files.pl for documentation on the
# format of this file.
# Please re-sort this file after *EVERY* modification
-blib/lib/libparrot.2.3.0.dylib [main]lib
-blib/lib/libparrot.a [main]lib
-blib/lib/libparrot.dylib [main]lib
-blib/lib/libparrot.so.2.3.0 [main]lib
-blib/lib/libparrot.so [main]lib
-compilers/data_json/data_json.pbc [data_json]
-config/gen/call_list/opengl.in []
-docs/ops/bit.pod [doc]
-docs/ops/cmp.pod [doc]
-docs/ops/core.pod [doc]
-docs/ops/debug.pod [doc]
-docs/ops/dotgnu.pod [doc]
-docs/ops/experimental.pod [doc]
-docs/ops/io.pod [doc]
-docs/ops/math.pod [doc]
-docs/ops/object.pod [doc]
-docs/ops/obscure.pod [doc]
-docs/ops/pic.pod [doc]
-docs/ops/pmc.pod [doc]
-docs/ops/python.pod [doc]
-docs/ops/set.pod [doc]
-docs/ops/stack.pod [doc]
-docs/ops/string.pod [doc]
-docs/ops/sys.pod [doc]
-docs/ops/var.pod [doc]
-include/parrot/config.h [main]include
-include/parrot/core_pmcs.h [main]include
-include/parrot/exec_dep.h [main]include
-include/parrot/extend_vtable.h [main]include
-include/parrot/feature.h [main]include
-include/parrot/has_header.h [main]include
-include/parrot/oplib/core_ops.h [main]include
-include/parrot/oplib/ops.h [main]include
-include/parrot/pbcversion.h [devel]include
-include/parrot/platform.h [main]include
-include/parrot/platform_limits.h [devel]include
-include/parrot/vtable.h [main]include
-install_config.fpmc [main]lib
-src/install_config.o [main]lib
-src/install_config.obj [main]lib
-installable_parrot_config.exe [main]bin
-installable_parrot_config [main]bin
-installable_parrot_debugger.exe [main]bin
-installable_parrot_debugger [main]bin
-installable_parrot.exe [main]bin
-installable_parrot [main]bin
-installable_parrot_nci_thunk_gen [main]bin
-installable_pbc_disassemble.exe [main]bin
-installable_pbc_disassemble [main]bin
-installable_pbc_dump.exe [main]bin
-installable_pbc_dump [main]bin
-installable_pbc_merge.exe [main]bin
-installable_pbc_merge [main]bin
-installable_pbc_to_exe.exe [main]bin
-installable_pbc_to_exe [main]bin
-installable_parrot-nqp.exe [main]bin
-installable_parrot-nqp [main]bin
-installable_tapir.exe [main]bin
-installable_tapir [main]bin
-lib/Parrot/Config/Generated.pm [devel]lib
-libparrot.dll [main]bin
-libparrot.lib [main]bin
-lib/Parrot/OpLib/core.pm [devel]lib
-lib/Parrot/Pmc2c/PCCMETHOD_BITS.pm [devel]lib
-lib/Parrot/PMC.pm [devel]lib
-parrot.pc [main]pkgconfig
-runtime/parrot/dynext/dynlexpad.bundle [library]
-runtime/parrot/dynext/dynlexpad.dll [library]
-runtime/parrot/dynext/dynlexpad.dylib [library]
-runtime/parrot/dynext/dynlexpad.so [library]
-runtime/parrot/dynext/file.bundle [library]
-runtime/parrot/dynext/file.dll [library]
-runtime/parrot/dynext/file.dylib [library]
-runtime/parrot/dynext/file.so [library]
-runtime/parrot/dynext/gziphandle.bundle [library]
-runtime/parrot/dynext/gziphandle.dll [library]
-runtime/parrot/dynext/gziphandle.dylib [library]
-runtime/parrot/dynext/gziphandle.so [library]
-runtime/parrot/dynext/libglutcb.bundle [library]
-runtime/parrot/dynext/libglutcb.dll [library]
-runtime/parrot/dynext/libglutcb.dylib [library]
-runtime/parrot/dynext/libglutcb.so [library]
-runtime/parrot/dynext/math_ops.so [library]
-runtime/parrot/dynext/math_ops.bundle [library]
-runtime/parrot/dynext/math_ops.dll [library]
-runtime/parrot/dynext/math_ops.dylib [library]
-runtime/parrot/dynext/obscure_ops.bundle [library]
-runtime/parrot/dynext/obscure_ops.dll [library]
-runtime/parrot/dynext/obscure_ops.dylib [library]
-runtime/parrot/dynext/obscure_ops.so [library]
-runtime/parrot/dynext/os.bundle [library]
-runtime/parrot/dynext/os.dll [library]
-runtime/parrot/dynext/os.dylib [library]
-runtime/parrot/dynext/os.so [library]
-runtime/parrot/dynext/rational.bundle [library]
-runtime/parrot/dynext/rational.dll [library]
-runtime/parrot/dynext/rational.dylib [library]
-runtime/parrot/dynext/rational.so [library]
-runtime/parrot/include/call_bits.pasm [main]
-runtime/parrot/include/cclass.pasm [main]
-runtime/parrot/include/config.fpmc []
-runtime/parrot/include/datatypes.pasm [main]
-runtime/parrot/include/dlopenflags.pasm [main]
-runtime/parrot/include/errors.pasm [main]
-runtime/parrot/include/except_severity.pasm [main]
-runtime/parrot/include/except_types.pasm [main]
-runtime/parrot/include/hash_key_type.pasm [main]
-runtime/parrot/include/iglobals.pasm [main]
-runtime/parrot/include/interpcores.pasm [main]
-runtime/parrot/include/interpdebug.pasm [main]
-runtime/parrot/include/interpflags.pasm [main]
-runtime/parrot/include/interpinfo.pasm [main]
-runtime/parrot/include/interptrace.pasm [main]
-runtime/parrot/include/iotypes.pasm [main]
-runtime/parrot/include/iterator.pasm [main]
-runtime/parrot/include/libpaths.pasm [main]
-runtime/parrot/include/longopt.pasm [main]
-runtime/parrot/include/opengl_defines.pasm [main]
-runtime/parrot/include/parrotlib.pbc [main]
-runtime/parrot/include/pmctypes.pasm [main]
-runtime/parrot/include/signal.pasm [main]
-runtime/parrot/include/socket.pasm [main]
-runtime/parrot/include/stat.pasm [main]
-runtime/parrot/include/stdio.pasm [main]
-runtime/parrot/include/stringinfo.pasm [main]
-runtime/parrot/include/sysinfo.pasm [main]
-runtime/parrot/include/timer.pasm [main]
-runtime/parrot/include/tm.pasm [main]
-runtime/parrot/include/vtable_methods.pasm [main]
-runtime/parrot/include/warnings.pasm [main]
-runtime/parrot/library/Archive/TAR.pbc [main]
-runtime/parrot/library/CGI/QueryHash.pbc [main]
-runtime/parrot/library/Config/JSON.pbc [main]
-runtime/parrot/library/Configure/genfile.pbc [main]
-runtime/parrot/library/config.pbc [main]
-runtime/parrot/library/config.pir [main]
-runtime/parrot/library/Crow.pbc [main]
-runtime/parrot/library/Data/Dumper/Base.pbc [main]
-runtime/parrot/library/Data/Dumper/Default.pbc [main]
-runtime/parrot/library/Data/Dumper.pbc [main]
-runtime/parrot/library/Data/Replace.pbc [main]
-runtime/parrot/library/Digest/MD5.pbc [main]
-runtime/parrot/library/distutils.pbc [main]
-runtime/parrot/library/dumper.pbc [main]
-runtime/parrot/library/Getopt/Obj.pbc [main]
-runtime/parrot/library/HLL.pbc [main]
-runtime/parrot/library/HTTP/Daemon.pbc [main]
-runtime/parrot/library/Iter.pbc [main]
-runtime/parrot/library/JSON.pbc [main]
-runtime/parrot/library/libpcre.pbc [main]
-runtime/parrot/library/Math/Rand.pbc [main]
-runtime/parrot/library/MIME/Base64.pbc [main]
-runtime/parrot/library/NCI/call_toolkit_init.pbc [main]
-runtime/parrot/library/ncurses.pbc [main]
-runtime/parrot/library/nqp-rx.pbc [nqp]
-runtime/parrot/library/OpenGL_funcs.pir [main]
-runtime/parrot/library/OpenGL_funcs.pbc [main]
-runtime/parrot/library/OpenGL.pbc [main]
-runtime/parrot/library/osutils.pbc [main]
-runtime/parrot/library/P6object.pbc [main]
-runtime/parrot/library/P6Regex.pbc [main]
-runtime/parrot/library/Parrot/Capture_PIR.pbc [main]
-runtime/parrot/library/Parrot/Coroutine.pbc [main]
-runtime/parrot/library/Parrot/Exception.pbc [main]
-runtime/parrot/library/Parrot/HLLCompiler.pbc [main]
-runtime/parrot/library/parrotlib.pbc [main]
-runtime/parrot/library/pcore.pbc [main]
-runtime/parrot/library/pcre.pbc [main]
-runtime/parrot/library/PCT/Grammar.pbc [main]
-runtime/parrot/library/PCT/HLLCompiler.pbc [main]
-runtime/parrot/library/PCT/PAST.pbc [main]
-runtime/parrot/library/PCT.pbc [main]
-runtime/parrot/library/PGE/Dumper.pbc [main]
-runtime/parrot/library/PGE/Glob.pbc [main]
-runtime/parrot/library/PGE/Hs.pbc [main]
-runtime/parrot/library/PGE.pbc [main]
-runtime/parrot/library/PGE/Perl6Grammar.pbc [main]
-runtime/parrot/library/PGE/Text.pbc [main]
-runtime/parrot/library/PGE/Util.pbc [main]
-runtime/parrot/library/Protoobject.pbc [main]
-runtime/parrot/library/Range.pbc [main]
-runtime/parrot/library/Regex.pbc [main]
-runtime/parrot/library/Stream/Base.pbc [main]
-runtime/parrot/library/Stream/Combiner.pbc [main]
-runtime/parrot/library/Stream/Coroutine.pbc [main]
-runtime/parrot/library/Stream/Filter.pbc [main]
-runtime/parrot/library/Stream/Lines.pbc [main]
-runtime/parrot/library/Stream/ParrotIO.pbc [main]
-runtime/parrot/library/Stream/Replay.pbc [main]
-runtime/parrot/library/Stream/Sub.pbc [main]
-runtime/parrot/library/Stream/Writer.pbc [main]
-runtime/parrot/library/TAP/Formatter.pbc [main]
-runtime/parrot/library/TAP/Harness.pbc [main]
-runtime/parrot/library/TAP/Parser.pbc [main]
-runtime/parrot/library/Tcl/Glob.pbc [main]
-runtime/parrot/library/TclLibrary.pbc [main]
-runtime/parrot/library/Test/Builder/Test.pbc [main]
-runtime/parrot/library/Test/Builder/Tester.pbc [main]
-runtime/parrot/library/Test/Builder/TestPlan.pbc [main]
-runtime/parrot/library/Test/Builder/Output.pbc [main]
-runtime/parrot/library/Test/Builder.pbc [main]
-runtime/parrot/library/Test/Class.pbc [main]
-runtime/parrot/library/Test/More.pbc [main]
-runtime/parrot/library/TGE.pbc [tge]
-runtime/parrot/library/uuid.pbc [main]
-runtime/parrot/library/YAML/Dumper/Base.pmc [main]
-runtime/parrot/library/YAML/Dumper/Default.pmc [main]
-runtime/parrot/library/YAML/Dumper.pbc [main]
-src/call_list.txt [devel]src
-src/glut_callbacks.c []
-src/jit_emit.h []
-src/nci.c []
-src/null_config.c []
-src/parrot_config.c []
-src/pmc/boolean.dump [devel]src
-src/pmc/continuation.dump [devel]src
-src/pmc/default.dump [devel]src
-src/pmc/fixedpmcarray.dump [devel]src
-src/pmc/float.dump [devel]src
-src/pmc/hash.dump [devel]src
-src/pmc/integer.dump [devel]src
-src/pmc/multisub.dump [devel]src
-src/pmc/object.dump [devel]src
-include/pmc/pmc_boolean.h [devel]include
-include/pmc/pmc_class.h [devel]include
-include/pmc/pmc_callcontext.h [devel]include
-include/pmc/pmc_continuation.h [devel]include
-include/pmc/pmc_context.h [devel]include
-include/pmc/pmc_default.h [devel]include
-include/pmc/pmc_fixedintegerarray.h [devel]include
-include/pmc/pmc_fixedpmcarray.h [devel]include
-include/pmc/pmc_float.h [devel]include
-include/pmc/pmc_hash.h [devel]include
-include/pmc/pmc_integer.h [devel]include
-include/pmc/pmc_multisub.h [devel]include
-include/pmc/pmc_object.h [devel]include
-include/pmc/pmc_parrotlibrary.h [devel]include
-include/pmc/pmc_resizablepmcarray.h [devel]include
-include/pmc/pmc_role.h [devel]include
-include/pmc/pmc_scalar.h [devel]include
-include/pmc/pmc_string.h [devel]include
-include/pmc/pmc_sub.h [devel]include
-include/pmc/pmc_undef.h [devel]include
-src/pmc/resizablepmcarray.dump [devel]src
-src/pmc/role.dump [devel]src
-src/pmc/scalar.dump [devel]src
-src/pmc/string.dump [devel]src
-src/pmc/sub.dump [devel]src
-src/pmc/undef.dump [devel]src
-src/string_private_cstring.h []
-tools/build/dynpmc.pl []
-vtable.dump [devel]src
+blib/lib/libparrot.2.3.0.dylib [main]lib
+blib/lib/libparrot.a [main]lib
+blib/lib/libparrot.dylib [main]lib
+blib/lib/libparrot.so [main]lib
+blib/lib/libparrot.so.2.3.0 [main]lib
+compilers/data_json/data_json.pbc [data_json]
+config/gen/call_list/opengl.in []
+docs/ops/bit.pod [doc]
+docs/ops/cmp.pod [doc]
+docs/ops/core.pod [doc]
+docs/ops/debug.pod [doc]
+docs/ops/dotgnu.pod [doc]
+docs/ops/experimental.pod [doc]
+docs/ops/io.pod [doc]
+docs/ops/math.pod [doc]
+docs/ops/object.pod [doc]
+docs/ops/obscure.pod [doc]
+docs/ops/pic.pod [doc]
+docs/ops/pmc.pod [doc]
+docs/ops/python.pod [doc]
+docs/ops/set.pod [doc]
+docs/ops/stack.pod [doc]
+docs/ops/string.pod [doc]
+docs/ops/sys.pod [doc]
+docs/ops/var.pod [doc]
+include/parrot/config.h [main]include
+include/parrot/core_pmcs.h [main]include
+include/parrot/exec_dep.h [main]include
+include/parrot/extend_vtable.h [main]include
+include/parrot/feature.h [main]include
+include/parrot/has_header.h [main]include
+include/parrot/oplib/core_ops.h [main]include
+include/parrot/oplib/ops.h [main]include
+include/parrot/pbcversion.h [devel]include
+include/parrot/platform.h [main]include
+include/parrot/platform_limits.h [devel]include
+include/parrot/vtable.h [main]include
+include/pmc/pmc_addrregistry.h [devel]include
+include/pmc/pmc_arrayiterator.h [devel]include
+include/pmc/pmc_bigint.h [devel]include
+include/pmc/pmc_bignum.h [devel]include
+include/pmc/pmc_boolean.h [devel]include
+include/pmc/pmc_callcontext.h [devel]include
+include/pmc/pmc_capture.h [devel]include
+include/pmc/pmc_class.h [devel]include
+include/pmc/pmc_codestring.h [devel]include
+include/pmc/pmc_complex.h [devel]include
+include/pmc/pmc_context.h [devel]include
+include/pmc/pmc_continuation.h [devel]include
+include/pmc/pmc_coroutine.h [devel]include
+include/pmc/pmc_default.h [devel]include
+include/pmc/pmc_env.h [devel]include
+include/pmc/pmc_eval.h [devel]include
+include/pmc/pmc_eventhandler.h [devel]include
+include/pmc/pmc_exception.h [devel]include
+include/pmc/pmc_exceptionhandler.h [devel]include
+include/pmc/pmc_exporter.h [devel]include
+include/pmc/pmc_filehandle.h [devel]include
+include/pmc/pmc_fixedbooleanarray.h [devel]include
+include/pmc/pmc_fixedfloatarray.h [devel]include
+include/pmc/pmc_fixedintegerarray.h [devel]include
+include/pmc/pmc_fixedpmcarray.h [devel]include
+include/pmc/pmc_fixedstringarray.h [devel]include
+include/pmc/pmc_float.h [devel]include
+include/pmc/pmc_handle.h [devel]include
+include/pmc/pmc_hash.h [devel]include
+include/pmc/pmc_hashiterator.h [devel]include
+include/pmc/pmc_hashiteratorkey.h [devel]include
+include/pmc/pmc_imageio.h [devel]include
+include/pmc/pmc_imageiosize.h [devel]include
+include/pmc/pmc_imageiostrings.h [devel]include
+include/pmc/pmc_integer.h [devel]include
+include/pmc/pmc_iterator.h [devel]include
+include/pmc/pmc_key.h [devel]include
+include/pmc/pmc_lexinfo.h [devel]include
+include/pmc/pmc_lexpad.h [devel]include
+include/pmc/pmc_managedstruct.h [devel]include
+include/pmc/pmc_multisub.h [devel]include
+include/pmc/pmc_namespace.h [devel]include
+include/pmc/pmc_nci.h [devel]include
+include/pmc/pmc_null.h [devel]include
+include/pmc/pmc_object.h [devel]include
+include/pmc/pmc_opcode.h [devel]include
+include/pmc/pmc_oplib.h [devel]include
+include/pmc/pmc_orderedhash.h [devel]include
+include/pmc/pmc_orderedhashiterator.h [devel]include
+include/pmc/pmc_packfile.h [devel]include
+include/pmc/pmc_packfileannotation.h [devel]include
+include/pmc/pmc_packfileannotations.h [devel]include
+include/pmc/pmc_packfileconstanttable.h [devel]include
+include/pmc/pmc_packfiledebug.h [devel]include
+include/pmc/pmc_packfiledirectory.h [devel]include
+include/pmc/pmc_packfilefixupentry.h [devel]include
+include/pmc/pmc_packfilefixuptable.h [devel]include
+include/pmc/pmc_packfilerawsegment.h [devel]include
+include/pmc/pmc_packfilesegment.h [devel]include
+include/pmc/pmc_parrotinterpreter.h [devel]include
+include/pmc/pmc_parrotlibrary.h [devel]include
+include/pmc/pmc_parrotthread.h [devel]include
+include/pmc/pmc_pmcproxy.h [devel]include
+include/pmc/pmc_pointer.h [devel]include
+include/pmc/pmc_resizablebooleanarray.h [devel]include
+include/pmc/pmc_resizablefloatarray.h [devel]include
+include/pmc/pmc_resizableintegerarray.h [devel]include
+include/pmc/pmc_resizablepmcarray.h [devel]include
+include/pmc/pmc_resizablestringarray.h [devel]include
+include/pmc/pmc_role.h [devel]include
+include/pmc/pmc_scalar.h [devel]include
+include/pmc/pmc_scheduler.h [devel]include
+include/pmc/pmc_schedulermessage.h [devel]include
+include/pmc/pmc_sockaddr.h [devel]include
+include/pmc/pmc_socket.h [devel]include
+include/pmc/pmc_string.h [devel]include
+include/pmc/pmc_stringbuilder.h [devel]include
+include/pmc/pmc_stringhandle.h [devel]include
+include/pmc/pmc_stringiterator.h [devel]include
+include/pmc/pmc_sub.h [devel]include
+include/pmc/pmc_task.h [devel]include
+include/pmc/pmc_threadinterpreter.h [devel]include
+include/pmc/pmc_timer.h [devel]include
+include/pmc/pmc_undef.h [devel]include
+include/pmc/pmc_unmanagedstruct.h [devel]include
+install_config.fpmc [main]lib
+installable_parrot [main]bin
+installable_parrot-nqp [main]bin
+installable_parrot-nqp.exe [main]bin
+installable_parrot.exe [main]bin
+installable_parrot_config [main]bin
+installable_parrot_config.exe [main]bin
+installable_parrot_debugger [main]bin
+installable_parrot_debugger.exe [main]bin
+installable_parrot_nci_thunk_gen [main]bin
+installable_pbc_disassemble [main]bin
+installable_pbc_disassemble.exe [main]bin
+installable_pbc_dump [main]bin
+installable_pbc_dump.exe [main]bin
+installable_pbc_merge [main]bin
+installable_pbc_merge.exe [main]bin
+installable_pbc_to_exe [main]bin
+installable_pbc_to_exe.exe [main]bin
+installable_tapir [main]bin
+installable_tapir.exe [main]bin
+lib/Parrot/Config/Generated.pm [devel]lib
+lib/Parrot/OpLib/core.pm [devel]lib
+lib/Parrot/PMC.pm [devel]lib
+lib/Parrot/Pmc2c/PCCMETHOD_BITS.pm [devel]lib
+libparrot.dll [main]bin
+libparrot.lib [main]bin
+parrot.pc [main]pkgconfig
+runtime/parrot/dynext/dynlexpad.bundle [library]
+runtime/parrot/dynext/dynlexpad.dll [library]
+runtime/parrot/dynext/dynlexpad.dylib [library]
+runtime/parrot/dynext/dynlexpad.so [library]
+runtime/parrot/dynext/file.bundle [library]
+runtime/parrot/dynext/file.dll [library]
+runtime/parrot/dynext/file.dylib [library]
+runtime/parrot/dynext/file.so [library]
+runtime/parrot/dynext/gziphandle.bundle [library]
+runtime/parrot/dynext/gziphandle.dll [library]
+runtime/parrot/dynext/gziphandle.dylib [library]
+runtime/parrot/dynext/gziphandle.so [library]
+runtime/parrot/dynext/libglutcb.bundle [library]
+runtime/parrot/dynext/libglutcb.dll [library]
+runtime/parrot/dynext/libglutcb.dylib [library]
+runtime/parrot/dynext/libglutcb.so [library]
+runtime/parrot/dynext/math_ops.bundle [library]
+runtime/parrot/dynext/math_ops.dll [library]
+runtime/parrot/dynext/math_ops.dylib [library]
+runtime/parrot/dynext/math_ops.so [library]
+runtime/parrot/dynext/obscure_ops.bundle [library]
+runtime/parrot/dynext/obscure_ops.dll [library]
+runtime/parrot/dynext/obscure_ops.dylib [library]
+runtime/parrot/dynext/obscure_ops.so [library]
+runtime/parrot/dynext/os.bundle [library]
+runtime/parrot/dynext/os.dll [library]
+runtime/parrot/dynext/os.dylib [library]
+runtime/parrot/dynext/os.so [library]
+runtime/parrot/dynext/rational.bundle [library]
+runtime/parrot/dynext/rational.dll [library]
+runtime/parrot/dynext/rational.dylib [library]
+runtime/parrot/dynext/rational.so [library]
+runtime/parrot/include/call_bits.pasm [main]
+runtime/parrot/include/cclass.pasm [main]
+runtime/parrot/include/config.fpmc []
+runtime/parrot/include/datatypes.pasm [main]
+runtime/parrot/include/dlopenflags.pasm [main]
+runtime/parrot/include/errors.pasm [main]
+runtime/parrot/include/except_severity.pasm [main]
+runtime/parrot/include/except_types.pasm [main]
+runtime/parrot/include/hash_key_type.pasm [main]
+runtime/parrot/include/iglobals.pasm [main]
+runtime/parrot/include/interpcores.pasm [main]
+runtime/parrot/include/interpdebug.pasm [main]
+runtime/parrot/include/interpflags.pasm [main]
+runtime/parrot/include/interpinfo.pasm [main]
+runtime/parrot/include/interptrace.pasm [main]
+runtime/parrot/include/iotypes.pasm [main]
+runtime/parrot/include/iterator.pasm [main]
+runtime/parrot/include/libpaths.pasm [main]
+runtime/parrot/include/longopt.pasm [main]
+runtime/parrot/include/opengl_defines.pasm [main]
+runtime/parrot/include/parrotlib.pbc [main]
+runtime/parrot/include/pmctypes.pasm [main]
+runtime/parrot/include/signal.pasm [main]
+runtime/parrot/include/socket.pasm [main]
+runtime/parrot/include/stat.pasm [main]
+runtime/parrot/include/stdio.pasm [main]
+runtime/parrot/include/stringinfo.pasm [main]
+runtime/parrot/include/sysinfo.pasm [main]
+runtime/parrot/include/timer.pasm [main]
+runtime/parrot/include/tm.pasm [main]
+runtime/parrot/include/vtable_methods.pasm [main]
+runtime/parrot/include/warnings.pasm [main]
+runtime/parrot/library/Archive/Tar.pbc [main]
+runtime/parrot/library/Archive/Zip.pbc [main]
+runtime/parrot/library/CGI/QueryHash.pbc [main]
+runtime/parrot/library/Config/JSON.pbc [main]
+runtime/parrot/library/Configure/genfile.pbc [main]
+runtime/parrot/library/Crow.pbc [main]
+runtime/parrot/library/Data/Dumper.pbc [main]
+runtime/parrot/library/Data/Dumper/Base.pbc [main]
+runtime/parrot/library/Data/Dumper/Default.pbc [main]
+runtime/parrot/library/Data/Replace.pbc [main]
+runtime/parrot/library/Digest/MD5.pbc [main]
+runtime/parrot/library/Getopt/Obj.pbc [main]
+runtime/parrot/library/HLL.pbc [main]
+runtime/parrot/library/HTTP/Daemon.pbc [main]
+runtime/parrot/library/Iter.pbc [main]
+runtime/parrot/library/JSON.pbc [main]
+runtime/parrot/library/MIME/Base64.pbc [main]
+runtime/parrot/library/Math/Rand.pbc [main]
+runtime/parrot/library/NCI/call_toolkit_init.pbc [main]
+runtime/parrot/library/OpenGL.pbc [main]
+runtime/parrot/library/OpenGL_funcs.pbc [main]
+runtime/parrot/library/OpenGL_funcs.pir [main]
+runtime/parrot/library/P6Regex.pbc [main]
+runtime/parrot/library/P6object.pbc [main]
+runtime/parrot/library/PCT.pbc [main]
+runtime/parrot/library/PCT/Grammar.pbc [main]
+runtime/parrot/library/PCT/HLLCompiler.pbc [main]
+runtime/parrot/library/PCT/PAST.pbc [main]
+runtime/parrot/library/PGE.pbc [main]
+runtime/parrot/library/PGE/Dumper.pbc [main]
+runtime/parrot/library/PGE/Glob.pbc [main]
+runtime/parrot/library/PGE/Hs.pbc [main]
+runtime/parrot/library/PGE/Perl6Grammar.pbc [main]
+runtime/parrot/library/PGE/Text.pbc [main]
+runtime/parrot/library/PGE/Util.pbc [main]
+runtime/parrot/library/Parrot/Capture_PIR.pbc [main]
+runtime/parrot/library/Parrot/Coroutine.pbc [main]
+runtime/parrot/library/Parrot/Exception.pbc [main]
+runtime/parrot/library/Parrot/HLLCompiler.pbc [main]
+runtime/parrot/library/Protoobject.pbc [main]
+runtime/parrot/library/Range.pbc [main]
+runtime/parrot/library/Regex.pbc [main]
+runtime/parrot/library/Stream/Base.pbc [main]
+runtime/parrot/library/Stream/Combiner.pbc [main]
+runtime/parrot/library/Stream/Coroutine.pbc [main]
+runtime/parrot/library/Stream/Filter.pbc [main]
+runtime/parrot/library/Stream/Lines.pbc [main]
+runtime/parrot/library/Stream/ParrotIO.pbc [main]
+runtime/parrot/library/Stream/Replay.pbc [main]
+runtime/parrot/library/Stream/Sub.pbc [main]
+runtime/parrot/library/Stream/Writer.pbc [main]
+runtime/parrot/library/TAP/Formatter.pbc [main]
+runtime/parrot/library/TAP/Harness.pbc [main]
+runtime/parrot/library/TAP/Parser.pbc [main]
+runtime/parrot/library/TGE.pbc [tge]
+runtime/parrot/library/Tcl/Glob.pbc [main]
+runtime/parrot/library/TclLibrary.pbc [main]
+runtime/parrot/library/Test/Builder.pbc [main]
+runtime/parrot/library/Test/Builder/Output.pbc [main]
+runtime/parrot/library/Test/Builder/Test.pbc [main]
+runtime/parrot/library/Test/Builder/TestPlan.pbc [main]
+runtime/parrot/library/Test/Builder/Tester.pbc [main]
+runtime/parrot/library/Test/Class.pbc [main]
+runtime/parrot/library/Test/More.pbc [main]
+runtime/parrot/library/YAML/Dumper.pbc [main]
+runtime/parrot/library/YAML/Dumper/Base.pmc [main]
+runtime/parrot/library/YAML/Dumper/Default.pmc [main]
+runtime/parrot/library/config.pbc [main]
+runtime/parrot/library/config.pir [main]
+runtime/parrot/library/distutils.pbc [main]
+runtime/parrot/library/dumper.pbc [main]
+runtime/parrot/library/libpcre.pbc [main]
+runtime/parrot/library/ncurses.pbc [main]
+runtime/parrot/library/nqp-rx.pbc [nqp]
+runtime/parrot/library/osutils.pbc [main]
+runtime/parrot/library/parrotlib.pbc [main]
+runtime/parrot/library/pcore.pbc [main]
+runtime/parrot/library/pcre.pbc [main]
+runtime/parrot/library/uuid.pbc [main]
+src/call_list.txt [devel]src
+src/glut_callbacks.c []
+src/install_config.o [main]lib
+src/install_config.obj [main]lib
+src/jit_emit.h []
+src/nci.c []
+src/null_config.c []
+src/parrot_config.c []
+src/pmc/addrregistry.dump [devel]src
+src/pmc/arrayiterator.dump [devel]src
+src/pmc/bigint.dump [devel]src
+src/pmc/bignum.dump [devel]src
+src/pmc/boolean.dump [devel]src
+src/pmc/callcontext.dump [devel]src
+src/pmc/capture.dump [devel]src
+src/pmc/class.dump [devel]src
+src/pmc/codestring.dump [devel]src
+src/pmc/complex.dump [devel]src
+src/pmc/continuation.dump [devel]src
+src/pmc/coroutine.dump [devel]src
+src/pmc/default.dump [devel]src
+src/pmc/env.dump [devel]src
+src/pmc/eval.dump [devel]src
+src/pmc/eventhandler.dump [devel]src
+src/pmc/exception.dump [devel]src
+src/pmc/exceptionhandler.dump [devel]src
+src/pmc/exporter.dump [devel]src
+src/pmc/filehandle.dump [devel]src
+src/pmc/fixedbooleanarray.dump [devel]src
+src/pmc/fixedfloatarray.dump [devel]src
+src/pmc/fixedintegerarray.dump [devel]src
+src/pmc/fixedpmcarray.dump [devel]src
+src/pmc/fixedstringarray.dump [devel]src
+src/pmc/float.dump [devel]src
+src/pmc/handle.dump [devel]src
+src/pmc/hash.dump [devel]src
+src/pmc/hashiterator.dump [devel]src
+src/pmc/hashiteratorkey.dump [devel]src
+src/pmc/imageio.dump [devel]src
+src/pmc/imageiosize.dump [devel]src
+src/pmc/imageiostrings.dump [devel]src
+src/pmc/integer.dump [devel]src
+src/pmc/iterator.dump [devel]src
+src/pmc/key.dump [devel]src
+src/pmc/lexinfo.dump [devel]src
+src/pmc/lexpad.dump [devel]src
+src/pmc/managedstruct.dump [devel]src
+src/pmc/multisub.dump [devel]src
+src/pmc/namespace.dump [devel]src
+src/pmc/nci.dump [devel]src
+src/pmc/null.dump [devel]src
+src/pmc/object.dump [devel]src
+src/pmc/opcode.dump [devel]src
+src/pmc/oplib.dump [devel]src
+src/pmc/orderedhash.dump [devel]src
+src/pmc/orderedhashiterator.dump [devel]src
+src/pmc/packfile.dump [devel]src
+src/pmc/packfileannotation.dump [devel]src
+src/pmc/packfileannotations.dump [devel]src
+src/pmc/packfileconstanttable.dump [devel]src
+src/pmc/packfiledebug.dump [devel]src
+src/pmc/packfiledirectory.dump [devel]src
+src/pmc/packfilefixupentry.dump [devel]src
+src/pmc/packfilefixuptable.dump [devel]src
+src/pmc/packfilerawsegment.dump [devel]src
+src/pmc/packfilesegment.dump [devel]src
+src/pmc/parrotinterpreter.dump [devel]src
+src/pmc/parrotlibrary.dump [devel]src
+src/pmc/parrotthread.dump [devel]src
+src/pmc/pmcproxy.dump [devel]src
+src/pmc/pointer.dump [devel]src
+src/pmc/resizablebooleanarray.dump [devel]src
+src/pmc/resizablefloatarray.dump [devel]src
+src/pmc/resizableintegerarray.dump [devel]src
+src/pmc/resizablepmcarray.dump [devel]src
+src/pmc/resizablestringarray.dump [devel]src
+src/pmc/role.dump [devel]src
+src/pmc/scalar.dump [devel]src
+src/pmc/scheduler.dump [devel]src
+src/pmc/schedulermessage.dump [devel]src
+src/pmc/sockaddr.dump [devel]src
+src/pmc/socket.dump [devel]src
+src/pmc/string.dump [devel]src
+src/pmc/stringbuilder.dump [devel]src
+src/pmc/stringhandle.dump [devel]src
+src/pmc/stringiterator.dump [devel]src
+src/pmc/sub.dump [devel]src
+src/pmc/task.dump [devel]src
+src/pmc/threadinterpreter.dump [devel]src
+src/pmc/timer.dump [devel]src
+src/pmc/undef.dump [devel]src
+src/pmc/unmanagedstruct.dump [devel]src
+src/string_private_cstring.h []
+tools/build/dynpmc.pl []
+vtable.dump [devel]src
Modified: branches/ops_pct/PBC_COMPAT
==============================================================================
--- branches/ops_pct/PBC_COMPAT Sat May 8 01:36:41 2010 (r46398)
+++ branches/ops_pct/PBC_COMPAT Sat May 8 02:08:40 2010 (r46399)
@@ -27,6 +27,7 @@
# please insert tab separated entries at the top of the list
+6.15 2010.05.06 bacek add StringBuilder PMC
6.14 2010.05.03 coke remove popaction, pushmark, pushaction ops.
6.13 2010.05.03 coke move File/OS pmcs to src/dynpmc
6.12 2010.05.02 plobsing store constant PMC strings as top level constant strings
Modified: branches/ops_pct/compilers/imcc/pbc.c
==============================================================================
--- branches/ops_pct/compilers/imcc/pbc.c Sat May 8 01:36:41 2010 (r46398)
+++ branches/ops_pct/compilers/imcc/pbc.c Sat May 8 02:08:40 2010 (r46399)
@@ -983,23 +983,13 @@
{
ASSERT_ARGS(add_const_str)
+ PMC *s_pmc = key_new_string(interp, s);
PackFile_ConstTable *table = interp->code->const_table;
- int i;
+ int i = PackFile_ConstTable_rlookup(interp, table, s_pmc, PFC_STRING);
+
+ if (i >= 0)
+ return 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_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))
- {
- return i;
- }
- }
- }
/* otherwise... */
{
Modified: branches/ops_pct/config/gen/config_pm.pm
==============================================================================
--- branches/ops_pct/config/gen/config_pm.pm Sat May 8 01:36:41 2010 (r46398)
+++ branches/ops_pct/config/gen/config_pm.pm Sat May 8 02:08:40 2010 (r46399)
@@ -108,6 +108,7 @@
if (/\@PCONFIG\@/) {
for my $k ( sort { lc $a cmp lc $b || $a cmp $b } $conf->data->keys ) {
next if exists $p5_keys{$k};
+ next if $k =~ /_provisional$/;
my $v = $conf->data->get($k);
if ( defined $v ) {
Modified: branches/ops_pct/config/gen/makefiles/root.in
==============================================================================
--- branches/ops_pct/config/gen/makefiles/root.in Sat May 8 01:36:41 2010 (r46398)
+++ branches/ops_pct/config/gen/makefiles/root.in Sat May 8 02:08:40 2010 (r46399)
@@ -256,6 +256,7 @@
GEN_LIBRARY = \
$(LIBRARY_DIR)/Archive/Tar.pbc \
+ $(LIBRARY_DIR)/Archive/Zip.pbc \
$(LIBRARY_DIR)/CGI/QueryHash.pbc \
$(LIBRARY_DIR)/Crow.pbc \
$(LIBRARY_DIR)/config.pbc \
@@ -663,6 +664,7 @@
src/spf_vtable.str \
src/string/api.str \
src/sub.str \
+ src/embed.str \
\
$(CLASS_STR_FILES)
Modified: branches/ops_pct/examples/shootout/revcomp.pir
==============================================================================
--- branches/ops_pct/examples/shootout/revcomp.pir Sat May 8 01:36:41 2010 (r46398)
+++ branches/ops_pct/examples/shootout/revcomp.pir Sat May 8 02:08:40 2010 (r46399)
@@ -67,13 +67,27 @@
.sub print_revcomp
.param string line
.local int i, linelen, ch
+ .local string revline
linelen = length line
$P0 = new 'String'
- $P0.'reverse'(line)
-
+# $P0.'reverse'(line)
+# reverse is no longer available so
+ i = linelen
+ revline = ''
+rev_loop:
+ i -= 1
+ $S0 = substr line, i, 1
+ revline .= $S0
+ if i > 0 goto rev_loop
+#
+ $P0 = revline
+#
+ # line was reversed in-place so we need
+ line = revline
+#
.const 'Sub' tr_00 = 'tr_00_init'
- $P0.'trans'(line, tr_00)
+ line = $P0.'trans'(line, tr_00)
i = 0
$S0 = 'x'
Modified: branches/ops_pct/examples/tools/pbc_checker.cpp
==============================================================================
--- branches/ops_pct/examples/tools/pbc_checker.cpp Sat May 8 01:36:41 2010 (r46398)
+++ branches/ops_pct/examples/tools/pbc_checker.cpp Sat May 8 02:08:40 2010 (r46399)
@@ -320,7 +320,8 @@
opcode read_opcode(ifstream &pbcfile);
private:
unsigned int opcode_size;
- unsigned int pbc_version;
+ unsigned int pbc_major;
+ unsigned int pbc_minor;
unsigned char byte_order;
unsigned char fp_encoding;
@@ -387,7 +388,8 @@
cerr << "*** Warning: opcode size too big for this program ***\n";
this->opcode_size = opcode_size;
- this->pbc_version = ((unsigned int) pbc_major) * 8 + pbc_minor;
+ this->pbc_major = pbc_major;
+ this->pbc_minor = pbc_minor;
this->byte_order = byte_order;
this->fp_encoding = fp_encoding;
if (byte_order != ByteOrderLE && byte_order != ByteOrderBE)
@@ -431,9 +433,13 @@
opcode size = read_opcode(pbcfile);
cout << "Directory segment size: " << size << '\n';
- pbcfile.ignore(16 - opcode_size);
- if (pbc_version <= 0x0325 && opcode_size == 8)
- pbcfile.ignore(16);
+ // Must be zero:
+ opcode in_type = read_opcode(pbcfile);
+ opcode in_id = read_opcode(pbcfile);
+ opcode op_size = read_opcode(pbcfile);
+ cout << "Internal type: " << in_type << '\n';
+ cout << "Internal id: " << in_id << '\n';
+ cout << "Op table size: " << op_size << '\n';
opcode entries = read_opcode(pbcfile);
cout << "Directory entries: " << entries << '\n';
@@ -464,7 +470,9 @@
" (0x" << hex << type << dec << ")\n";
// Set file read position to segment's start
- pbcfile.seekg(entry.getOffset() * opcode_size);
+ size_t start = entry.getOffset() * opcode_size;
+ cout << "Start: 0x" << hex << setw(6) << start << dec << '\n';
+ pbcfile.seekg(start);
switch(type)
{
@@ -715,26 +723,50 @@
void PbcFile::dump_constant_string(ifstream &pbcfile)
{
- opcode flags = read_opcode(pbcfile);
- cout << "Flags: 0x" << hex << flags << dec;
- opcode charset = read_opcode(pbcfile);
+ opcode flags;
+ opcode charset;
+ if (pbc_major > 5 && pbc_minor > 11) {
+ opcode flags_charset = read_opcode(pbcfile);
+ flags = flags_charset & 0xFF;
+ charset = flags_charset >> 8;
+ }
+ else {
+ flags = read_opcode(pbcfile);
+ charset = read_opcode(pbcfile);
+ }
+
+ cout << "Flags: 0x" << hex << setw(6) << flags << dec;
cout << " Charset: " << charset;
+ // Encoding not saved, see TT #468
//opcode encoding = read_opcode(pbcfile);
//cout << " Encoding: "<< encoding;
opcode length = read_opcode(pbcfile);
cout << " Length: "<< length;
+
+ // Don't dump very long strings at full length.
+ opcode full = length;
+ length = std::min(length, (opcode)512);
+
cout << " \'";
for (opcode i= 0; i < length; ++i) {
unsigned char c = pbcfile.get();
+ if (! pbcfile)
+ throw ReadError("string constant");
if (c >= 32 && c < 128)
cout << c;
else
cout << "\\x" << hex << setw(2) << setfill('0') <<
(unsigned int) c << dec;
}
- cout << "'\n";
+ cout << '\'';
+ if (full > length) {
+ cout << "(...)";
+ pbcfile.ignore(full - length);
+ }
+ cout << '\n';
+
for (unsigned int i= length; i % opcode_size; ++i) {
pbcfile.ignore(1);
}
Modified: branches/ops_pct/include/parrot/embed.h
==============================================================================
--- branches/ops_pct/include/parrot/embed.h Sat May 8 01:36:41 2010 (r46398)
+++ branches/ops_pct/include/parrot/embed.h Sat May 8 02:08:40 2010 (r46399)
@@ -5,9 +5,6 @@
* Overview:
* This is the Parrot embedding system--the only part of Parrot that
* the outside world should see.
- * Data Structure and Algorithms:
- * History:
- * Notes:
* References:
* embed.c, docs/embed.pod.
*/
@@ -28,48 +25,52 @@
enum_DIS_HEADER = 2
} Parrot_disassemble_options;
-PARROT_EXPORT Parrot_Interp Parrot_new(Parrot_Interp parent);
+PARROT_EXPORT
+PARROT_CANNOT_RETURN_NULL
+PARROT_MALLOC
+Parrot_Interp Parrot_new(ARGIN_NULLOK(Parrot_Interp parent));
-PARROT_EXPORT void Parrot_init_stacktop(Parrot_Interp, void *);
+PARROT_EXPORT void Parrot_init_stacktop(PARROT_INTERP, void *);
-PARROT_EXPORT void Parrot_set_flag(Parrot_Interp, Parrot_Int);
-PARROT_EXPORT void Parrot_clear_flag(Parrot_Interp, Parrot_Int);
-PARROT_EXPORT Parrot_Int Parrot_test_flag(Parrot_Interp, Parrot_Int);
+PARROT_EXPORT void Parrot_set_flag(PARROT_INTERP, Parrot_Int);
+PARROT_EXPORT void Parrot_clear_flag(PARROT_INTERP, Parrot_Int);
+PARROT_EXPORT Parrot_Int Parrot_test_flag(PARROT_INTERP, Parrot_Int);
-PARROT_EXPORT void Parrot_set_trace(Parrot_Interp, Parrot_UInt);
-PARROT_EXPORT void Parrot_clear_trace(Parrot_Interp, Parrot_UInt);
-PARROT_EXPORT Parrot_UInt Parrot_test_trace(Parrot_Interp, Parrot_UInt);
+PARROT_EXPORT void Parrot_set_trace(PARROT_INTERP, Parrot_UInt);
+PARROT_EXPORT void Parrot_clear_trace(PARROT_INTERP, Parrot_UInt);
+PARROT_EXPORT Parrot_UInt Parrot_test_trace(PARROT_INTERP, Parrot_UInt);
-PARROT_EXPORT void Parrot_set_debug(Parrot_Interp, Parrot_UInt);
-PARROT_EXPORT void Parrot_clear_debug(Parrot_Interp, Parrot_UInt);
-PARROT_EXPORT Parrot_UInt Parrot_test_debug(Parrot_Interp, Parrot_UInt);
+PARROT_EXPORT void Parrot_set_debug(PARROT_INTERP, Parrot_UInt);
+PARROT_EXPORT void Parrot_clear_debug(PARROT_INTERP, Parrot_UInt);
+PARROT_EXPORT Parrot_UInt Parrot_test_debug(PARROT_INTERP, Parrot_UInt);
-PARROT_EXPORT void Parrot_set_executable_name(Parrot_Interp, Parrot_String);
+PARROT_EXPORT void Parrot_set_executable_name(PARROT_INTERP, Parrot_String);
-PARROT_EXPORT void Parrot_set_run_core(Parrot_Interp, Parrot_Run_core_t core);
+PARROT_EXPORT void Parrot_set_run_core(PARROT_INTERP, Parrot_Run_core_t core);
-PARROT_EXPORT void Parrot_setwarnings(Parrot_Interp, Parrot_warnclass);
+PARROT_EXPORT void Parrot_setwarnings(PARROT_INTERP, Parrot_warnclass);
-PARROT_EXPORT Parrot_PackFile Parrot_pbc_read(Parrot_Interp, const char *, const int);
+PARROT_EXPORT Parrot_PackFile Parrot_pbc_read(PARROT_INTERP, ARGIN_NULLOK(const char *), int);
-PARROT_EXPORT void Parrot_pbc_load(Parrot_Interp, Parrot_PackFile);
+PARROT_EXPORT void Parrot_pbc_load(PARROT_INTERP, Parrot_PackFile);
-PARROT_EXPORT void Parrot_pbc_fixup_loaded(Parrot_Interp);
+PARROT_EXPORT void Parrot_pbc_fixup_loaded(PARROT_INTERP);
-PARROT_EXPORT void Parrot_runcode(Parrot_Interp, int argc, const char **argv);
+PARROT_EXPORT void Parrot_runcode(PARROT_INTERP, int argc, ARGIN(const char **argv));
-PARROT_EXPORT Parrot_PMC Parrot_compile_string(Parrot_Interp,
- Parrot_String type, const char *code, Parrot_String *error);
+PARROT_EXPORT Parrot_PMC Parrot_compile_string(PARROT_INTERP,
+ Parrot_String type, ARGIN(const char *code), ARGOUT(Parrot_String *error));
-PARROT_EXPORT void Parrot_destroy(Parrot_Interp);
+PARROT_EXPORT void Parrot_destroy(PARROT_INTERP);
-PARROT_EXPORT Parrot_Opcode * Parrot_debug(Parrot_Interp, Parrot_Interp, Parrot_Opcode *pc);
+PARROT_EXPORT Parrot_Opcode * Parrot_debug(PARROT_INTERP, ARGIN(Parrot_Interp debugger), ARGIN(Parrot_Opcode *pc));
-PARROT_EXPORT void Parrot_disassemble(Parrot_Interp, const char *outfile, Parrot_disassemble_options options);
+PARROT_EXPORT void Parrot_disassemble(PARROT_INTERP, ARGIN(const char *outfile),
+ Parrot_disassemble_options options);
PARROT_EXPORT
PARROT_DOES_NOT_RETURN
-void Parrot_exit(Parrot_Interp, int status);
+void Parrot_exit(PARROT_INTERP, int status);
PARROT_EXPORT void Parrot_run_native(PARROT_INTERP, native_func_t func);
Modified: branches/ops_pct/include/parrot/interpreter.h
==============================================================================
--- branches/ops_pct/include/parrot/interpreter.h Sat May 8 01:36:41 2010 (r46398)
+++ branches/ops_pct/include/parrot/interpreter.h Sat May 8 02:08:40 2010 (r46399)
@@ -364,6 +364,7 @@
PARROT_EXPORT
PARROT_CANNOT_RETURN_NULL
+PARROT_MALLOC
Parrot_Interp allocate_interpreter(
ARGIN_NULLOK(Interp *parent),
INTVAL flags);
@@ -376,6 +377,7 @@
PARROT_EXPORT
PARROT_CANNOT_RETURN_NULL
+PARROT_MALLOC
Parrot_Interp make_interpreter(ARGIN_NULLOK(Interp *parent), INTVAL flags);
PARROT_EXPORT
Modified: branches/ops_pct/include/parrot/packfile.h
==============================================================================
--- branches/ops_pct/include/parrot/packfile.h Sat May 8 01:36:41 2010 (r46398)
+++ branches/ops_pct/include/parrot/packfile.h Sat May 8 02:08:40 2010 (r46399)
@@ -251,6 +251,8 @@
opcode_t const_count;
PackFile_Constant **constants;
PackFile_ByteCode *code; /* where this segment belongs to */
+
+ PMC *string_hash; /* Hash for lookup strings and numbers */
} PackFile_ConstTable;
struct PackFile_ByteCode {
@@ -301,11 +303,11 @@
typedef struct PackFile_Annotations {
PackFile_Segment base;
opcode_t num_keys;
- PackFile_Annotations_Key **keys;
+ PackFile_Annotations_Key *keys;
opcode_t num_groups;
- PackFile_Annotations_Group **groups;
+ PackFile_Annotations_Group *groups;
opcode_t num_entries;
- PackFile_Annotations_Entry **entries;
+ PackFile_Annotations_Entry *entries;
PackFile_ByteCode *code;
} PackFile_Annotations;
@@ -388,6 +390,15 @@
__attribute__nonnull__(2);
PARROT_EXPORT
+int PackFile_ConstTable_rlookup(PARROT_INTERP,
+ ARGIN(const PackFile_ConstTable *ct),
+ ARGIN(PMC *key),
+ int type)
+ __attribute__nonnull__(1)
+ __attribute__nonnull__(2)
+ __attribute__nonnull__(3);
+
+PARROT_EXPORT
int PackFile_find_in_const(PARROT_INTERP,
ARGIN(const PackFile_ConstTable *ct),
ARGIN(PMC *key),
@@ -424,6 +435,10 @@
#define ASSERT_ARGS_PackFile_ConstTable_pack_size __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(interp) \
, PARROT_ASSERT_ARG(seg))
+#define ASSERT_ARGS_PackFile_ConstTable_rlookup __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
+ PARROT_ASSERT_ARG(interp) \
+ , PARROT_ASSERT_ARG(ct) \
+ , PARROT_ASSERT_ARG(key))
#define ASSERT_ARGS_PackFile_find_in_const __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(interp) \
, PARROT_ASSERT_ARG(ct) \
Modified: branches/ops_pct/include/parrot/string_funcs.h
==============================================================================
--- branches/ops_pct/include/parrot/string_funcs.h Sat May 8 01:36:41 2010 (r46398)
+++ branches/ops_pct/include/parrot/string_funcs.h Sat May 8 02:08:40 2010 (r46399)
@@ -102,8 +102,8 @@
PARROT_EXPORT
PARROT_CANNOT_RETURN_NULL
STRING * Parrot_str_concat(PARROT_INTERP,
- ARGIN_NULLOK(STRING *a),
- ARGIN_NULLOK(STRING *b))
+ ARGIN_NULLOK(const STRING *a),
+ ARGIN_NULLOK(const STRING *b))
__attribute__nonnull__(1);
PARROT_EXPORT
@@ -236,8 +236,7 @@
PARROT_EXPORT
PARROT_WARN_UNUSED_RESULT
-INTVAL Parrot_str_length(SHIM_INTERP, ARGIN(const STRING *s))
- __attribute__nonnull__(2);
+INTVAL Parrot_str_length(SHIM_INTERP, ARGIN_NULLOK(const STRING *s));
PARROT_EXPORT
PARROT_WARN_UNUSED_RESULT
@@ -322,7 +321,7 @@
PARROT_WARN_UNUSED_RESULT
PARROT_CAN_RETURN_NULL
PMC* Parrot_str_split(PARROT_INTERP,
- ARGIN_NULLOK(STRING *delim),
+ ARGIN_NULLOK(const STRING *delim),
ARGIN_NULLOK(STRING *str))
__attribute__nonnull__(1);
@@ -470,6 +469,19 @@
__attribute__nonnull__(2)
FUNC_MODIFIES(*tc);
+PARROT_INLINE
+PARROT_IGNORABLE_RESULT
+PARROT_CAN_RETURN_NULL
+const CHARSET * Parrot_str_rep_compatible(PARROT_INTERP,
+ ARGIN(const STRING *a),
+ ARGIN(const STRING *b),
+ ARGOUT(const ENCODING **e))
+ __attribute__nonnull__(1)
+ __attribute__nonnull__(2)
+ __attribute__nonnull__(3)
+ __attribute__nonnull__(4)
+ FUNC_MODIFIES(*e);
+
#define ASSERT_ARGS_Parrot_str_bitwise_and __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(interp))
#define ASSERT_ARGS_Parrot_str_bitwise_not __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
@@ -537,8 +549,7 @@
#define ASSERT_ARGS_Parrot_str_join __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(interp) \
, PARROT_ASSERT_ARG(ar))
-#define ASSERT_ARGS_Parrot_str_length __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
- PARROT_ASSERT_ARG(s))
+#define ASSERT_ARGS_Parrot_str_length __attribute__unused__ int _ASSERT_ARGS_CHECK = (0)
#define ASSERT_ARGS_Parrot_str_new __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(interp))
#define ASSERT_ARGS_Parrot_str_new_constant __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
@@ -614,6 +625,11 @@
#define ASSERT_ARGS_Parrot_str_from_uint __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
PARROT_ASSERT_ARG(interp) \
, PARROT_ASSERT_ARG(tc))
+#define ASSERT_ARGS_Parrot_str_rep_compatible __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
+ PARROT_ASSERT_ARG(interp) \
+ , PARROT_ASSERT_ARG(a) \
+ , PARROT_ASSERT_ARG(b) \
+ , PARROT_ASSERT_ARG(e))
/* Don't modify between HEADERIZER BEGIN / HEADERIZER END. Your changes will be lost. */
/* HEADERIZER END: src/string/api.c */
Modified: branches/ops_pct/lib/Parrot/Pmc2c/PCCMETHOD.pm
==============================================================================
--- branches/ops_pct/lib/Parrot/Pmc2c/PCCMETHOD.pm Sat May 8 01:36:41 2010 (r46398)
+++ branches/ops_pct/lib/Parrot/Pmc2c/PCCMETHOD.pm Sat May 8 02:08:40 2010 (r46399)
@@ -415,7 +415,7 @@
PMC * const _ctx = CURRENT_CONTEXT(interp);
PMC * const _ccont = Parrot_pcc_get_continuation(interp, _ctx);
PMC * const _call_object = Parrot_pcc_get_signature(interp, _ctx);
- PMC * _ret_object = PMCNULL;
+ PMC * _ret_object;
{ /* BEGIN PARMS SCOPE */
END
Copied: branches/ops_pct/runtime/parrot/library/Archive/Zip.pir (from r46398, trunk/runtime/parrot/library/Archive/Zip.pir)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ branches/ops_pct/runtime/parrot/library/Archive/Zip.pir Sat May 8 02:08:40 2010 (r46399, copy of r46398, trunk/runtime/parrot/library/Archive/Zip.pir)
@@ -0,0 +1,844 @@
+# Copyright (C) 2010, Parrot Foundation.
+# $Id$
+
+=head1 NAME
+
+Archive/Zip
+
+=head2 DESCRIPTION
+
+Partial port of Archive::Zip (version 1.30)
+
+See L<http://search.cpan.org/~adamk/Archive-Zip/>
+
+=cut
+
+.include 'stat.pasm'
+.include 'tm.pasm'
+
+=head3 Class Archive;Zip;Base
+
+=cut
+
+.namespace ['Archive';'Zip';'Base']
+
+.sub '' :init :load :anon
+ $P0 = loadlib 'gziphandle'
+ $P0 = newclass ['Archive';'Zip';'Base']
+ .globalconst int AZ_OK = 0
+ .globalconst int AZ_STREAM_END = 1
+ .globalconst int AZ_ERROR = 2
+ .globalconst int AZ_FORMAT_ERROR = 3
+ .globalconst int AZ_IO_ERROR = 4
+ .globalconst int FA_UNIX = 3
+ .globalconst int GPBF_HAS_DATA_DESCRIPTOR_MASK = 8
+ .globalconst int COMPRESSION_STORED = 0
+ .globalconst int COMPRESSION_DEFLATED = 8
+ .globalconst int SIGNATURE_LENGTH = 4
+ .globalconst int LOCAL_FILE_HEADER_LENGTH = 26
+ .globalconst int DATA_DESCRIPTOR_LENGTH = 12
+ .globalconst int CENTRAL_DIRECTORY_FILE_HEADER_LENGTH = 42
+.end
+
+.sub '_printError'
+ .param pmc args :slurpy
+ $S0 = join '', args
+ printerr $S0
+ printerr "\n"
+.end
+
+.sub '_ioError' :method
+ .param pmc args :slurpy
+ $S0 = err
+ _printError('IO error:', args :flat, ':', $S0)
+ .return (AZ_IO_ERROR)
+.end
+
+.sub '_error' :method
+ .param pmc args :slurpy
+ _printError('error:', args :flat)
+ .return (AZ_ERROR)
+.end
+
+.sub 'pack_C' :method
+ .param int val
+ $S0 = chr val
+ .return ($S0)
+.end
+
+.sub 'pack_v' :method
+ .param int val
+ $I0 = val & 0x000000ff
+ $S0 = chr $I0
+ $I0 = val >> 8
+ $I0 &= 0x000000ff
+ $S1 = chr $I0
+ $S0 .= $S1
+ .return ($S0)
+.end
+
+.sub 'pack_V' :method
+ .param int val
+ $I0 = val & 0x000000ff
+ $S0 = chr $I0
+ $I0 = val >> 8
+ $I0 &= 0x000000ff
+ $S1 = chr $I0
+ $S0 .= $S1
+ $I0 = val >> 16
+ $I0 &= 0x000000ff
+ $S2 = chr $I0
+ $S0 .= $S2
+ $I0 = val >> 24
+ $I0 &= 0x000000ff
+ $S3 = chr $I0
+ $S0 .= $S3
+ .return ($S0)
+.end
+
+=head3 Class Archive;Zip;Member
+
+=over 4
+
+=cut
+
+.namespace ['Archive';'Zip';'Member']
+
+.sub '' :init :load :anon
+ $P0 = subclass ['Archive';'Zip';'Base'], ['Archive';'Zip';'Member']
+ $P0.'add_attribute'('fileName')
+ $P0.'add_attribute'('externalFileName')
+ $P0.'add_attribute'('compressionMethod')
+ $P0.'add_attribute'('compressedSize')
+ $P0.'add_attribute'('uncompressedSize')
+ $P0.'add_attribute'('lastModFileDateTime')
+ $P0.'add_attribute'('writeCentralDirectoryOffset')
+ $P0.'add_attribute'('writeLocalHeaderRelativeOffset')
+ $P0.'add_attribute'('readDataRemaining')
+ $P0.'add_attribute'('localExtraField')
+ $P0.'add_attribute'('cdExtraField')
+ $P0.'add_attribute'('fileComment')
+ $P0.'add_attribute'('crc32')
+ $P0.'add_attribute'('fileAttributeFormat')
+ $P0.'add_attribute'('bitFlag')
+ $P0.'add_attribute'('internalFileAttributes')
+ $P0.'add_attribute'('externalFileAttributes')
+.end
+
+.sub 'init' :vtable :method
+ $P0 = box FA_UNIX
+ setattribute self, 'fileAttributeFormat', $P0
+ $P0 = box 0
+ setattribute self, 'bitFlag', $P0
+ $P0 = box 0
+ setattribute self, 'crc32', $P0
+ $P0 = box 0
+ setattribute self, 'internalFileAttributes', $P0
+ $P0 = box 0
+ setattribute self, 'externalFileAttributes', $P0
+ $P0 = box ''
+ setattribute self, 'cdExtraField', $P0
+ $P0 = box ''
+ setattribute self, 'localExtraField', $P0
+ $P0 = box ''
+ setattribute self, 'fileComment', $P0
+.end
+
+=item newFromFile
+
+=cut
+
+.sub 'newFromFile'
+ .param string fileName
+ .param string zipName :optional
+ $P0 = get_hll_global ['Archive';'Zip';'NewFileMember'], '_newFromFileNamed'
+ .tailcall $P0(fileName, zipName)
+.end
+
+
+.sub 'setLastModFileDateTimeFromUnix' :method
+ .param int time_t
+ $I0 = self.'_unixToDosTime'(time_t)
+ $P0 = box $I0
+ setattribute self, 'lastModFileDateTime', $P0
+.end
+
+.sub '_unixToDosTime' :method
+ .param int time_t
+ .const int safe_epoch = 315576060
+ unless time_t < safe_epoch goto L1
+ self.'_ioError'("Unsupported date before 1980 encountered, moving to 1980")
+ time_t = safe_epoch
+ L1:
+ $P0 = decodelocaltime time_t
+ .local int dt
+ dt = 0
+ $I0 = $P0[.TM_SEC]
+ $I0 >>= 1
+ dt += $I0
+ $I0 = $P0[.TM_MIN]
+ $I0 <<= 5
+ dt += $I0
+ $I0 = $P0[.TM_HOUR]
+ $I0 <<= 11
+ dt += $I0
+ $I0 = $P0[.TM_MDAY]
+ $I0 <<= 16
+ dt += $I0
+ $I0 = $P0[.TM_MON]
+ $I0 <<= 21
+ dt += $I0
+ $I0 = $P0[.TM_YEAR]
+ $I0 -= 1980
+ $I0 <<= 25
+ dt += $I0
+ .return (dt)
+.end
+
+.sub '_mapPermissionsFromUnix' :method
+ .param int dummy
+ .return (0)
+.end
+
+.sub 'unixFileAttributes' :method
+ .param int perms
+ $I0 = self.'_mapPermissionsFromUnix'(perms)
+ $P0 = box $I0
+ setattribute self, 'externalFileAttributes', $P0
+.end
+
+.sub '_writeOffset' :method
+ $P0 = getattribute self, 'compressedSize'
+ .return ($P0)
+.end
+
+.sub '_localHeaderSize' :method
+ # Return the total size of my local header
+ $I0 = SIGNATURE_LENGTH + LOCAL_FILE_HEADER_LENGTH
+ $P0 = getattribute self, 'fileName'
+ $S0 = $P0
+ $I1 = length $S0
+ $I0 += $I1
+ $P0 = getattribute self, 'localExtraField'
+ $S0 = $P0
+ $I1 = length $S0
+ $I0 += $I1
+ .return ($I0)
+.end
+
+.sub '_centralDirectoryHeaderSize' :method
+ # Return the total size of my CD header
+ $I0 = SIGNATURE_LENGTH + CENTRAL_DIRECTORY_FILE_HEADER_LENGTH
+ $P0 = getattribute self, 'fileName'
+ $S0 = $P0
+ $I1 = length $S0
+ $I0 += $I1
+ $P0 = getattribute self, 'cdExtraField'
+ $S0 = $P0
+ $I1 = length $S0
+ $I0 += $I1
+ $P0 = getattribute self, 'fileComment'
+ $S0 = $P0
+ $I1 = length $S0
+ $I0 += $I1
+ .return ($I0)
+.end
+
+.sub 'hasDataDescriptor' :method
+ .return (0)
+.end
+
+.sub '_writeLocalFileHeader' :method
+ .param pmc fh
+ .const string LOCAL_FILE_HEADER_SIGNATURE = "PK\x03\x04"
+ $I0 = fh.'puts'(LOCAL_FILE_HEADER_SIGNATURE)
+ if $I0 goto L1
+ .tailcall self.'_ioError'('writing local header signature')
+ L1:
+ .local string header, fileName, localExtraField
+ .const string VERSION = 20
+ header = self.'pack_v'(VERSION)
+ $P0 = getattribute self, 'bitFlag'
+ $S0 = self.'pack_v'($P0)
+ header .= $S0
+ $P0 = getattribute self, 'compressionMethod'
+ $S0 = self.'pack_v'($P0)
+ header .= $S0
+ $P0 = getattribute self, 'lastModFileDateTime'
+ $S0 = self.'pack_V'($P0)
+ header .= $S0
+ $P0 = getattribute self, 'crc32'
+ $S0 = self.'pack_V'($P0)
+ header .= $S0
+ $P0 = getattribute self, 'compressedSize'
+ $S0 = self.'pack_V'($P0)
+ header .= $S0
+ $P0 = getattribute self, 'uncompressedSize'
+ $S0 = self.'pack_V'($P0)
+ header .= $S0
+ $P0 = getattribute self, 'fileName'
+ fileName = $P0
+ $I0 = length fileName
+ $S0 = self.'pack_v'($I0)
+ header .= $S0
+ $P0 = getattribute self, 'localExtraField'
+ localExtraField = $P0
+ $I0 = length localExtraField
+ $S0 = self.'pack_v'($I0)
+ header .= $S0
+ $I0 = fh.'puts'(header)
+ if $I0 goto L2
+ .tailcall self.'_ioError'('writing local header')
+ L2:
+ if fileName == '' goto L3
+ $I0 = fh.'puts'(fileName)
+ if $I0 goto L3
+ .tailcall self.'_ioError'('writing local header filename')
+ L3:
+ if localExtraField == '' goto L4
+ $I0 = fh.'puts'(localExtraField)
+ if $I0 goto L4
+ .tailcall self.'_ioError'('writing local extra field')
+ L4:
+ .return (AZ_OK)
+.end
+
+.sub '_writeCentralDirectoryFileHeader' :method
+ .param pmc fh
+ .const string CENTRAL_DIRECTORY_FILE_HEADER_SIGNATURE = "PK\x01\x02"
+ $I0 = fh.'puts'(CENTRAL_DIRECTORY_FILE_HEADER_SIGNATURE)
+ if $I0 goto L1
+ .tailcall self.'_ioError'('writing central directory header signature')
+ L1:
+ .local string header, fileName, cdExtraField, fileComment
+ .local int fileNameLength, extraFieldLength, fileCommentLength
+ .const string VERSION = 20
+ header = self.'pack_C'(VERSION) # versionMadeBy
+ $P0 = getattribute self, 'fileAttributeFormat'
+ $S0 = self.'pack_C'($P0)
+ header .= $S0
+ $S0 = self.'pack_v'(VERSION) # versionNeededToExtract
+ header .= $S0
+ $P0 = getattribute self, 'bitFlag'
+ $S0 = self.'pack_v'($P0)
+ header .= $S0
+ $P0 = getattribute self, 'compressionMethod'
+ $S0 = self.'pack_v'($P0)
+ header .= $S0
+ $P0 = getattribute self, 'lastModFileDateTime'
+ $S0 = self.'pack_V'($P0)
+ header .= $S0
+ $P0 = getattribute self, 'crc32'
+ $S0 = self.'pack_V'($P0)
+ header .= $S0
+ $P0 = getattribute self, 'compressedSize'
+ $S0 = self.'pack_V'($P0)
+ header .= $S0
+ $P0 = getattribute self, 'uncompressedSize'
+ $S0 = self.'pack_V'($P0)
+ header .= $S0
+ $P0 = getattribute self, 'fileName'
+ fileName = $P0
+ fileNameLength = length fileName
+ $S0 = self.'pack_v'(fileNameLength)
+ header .= $S0
+ $P0 = getattribute self, 'cdExtraField'
+ cdExtraField = $P0
+ extraFieldLength = length cdExtraField
+ $S0 = self.'pack_v'(extraFieldLength)
+ header .= $S0
+ $P0 = getattribute self, 'fileComment'
+ fileComment = $P0
+ fileCommentLength = length fileComment
+ $S0 = self.'pack_v'(fileCommentLength)
+ header .= $S0
+ $S0 = self.'pack_v'(0)
+ header .= $S0
+ $P0 = getattribute self, 'internalFileAttributes'
+ $S0 = self.'pack_v'($P0)
+ header .= $S0
+ $P0 = getattribute self, 'externalFileAttributes'
+ $S0 = self.'pack_V'($P0)
+ header .= $S0
+ $P0 = getattribute self, 'writeLocalHeaderRelativeOffset'
+ $S0 = self.'pack_V'($P0)
+ header .= $S0
+ $I0 = fh.'puts'(header)
+ if $I0 goto L2
+ .tailcall self.'_ioError'('writing central directory header')
+ L2:
+ unless fileNameLength goto L3
+ $I0 = fh.'puts'(fileName)
+ if $I0 goto L3
+ .tailcall self.'_ioError'('writing central directory filename')
+ L3:
+ unless extraFieldLength goto L4
+ $I0 = fh.'puts'(cdExtraField)
+ if $I0 goto L4
+ .tailcall self.'_ioError'('writing central directory extra field')
+ L4:
+ unless fileCommentLength goto L5
+ $I0 = fh.'puts'(fileComment)
+ if $I0 goto L5
+ .tailcall self.'_ioError'('writing central directory file comment')
+ L5:
+ .return (AZ_OK)
+.end
+
+.sub '_refreshLocalFileHeader' :method
+ .param pmc fh
+ .local int here
+ here = tell fh
+ $P0 = getattribute self, 'writeLocalHeaderRelativeOffset'
+ $I0 = $P0
+ $I0 += SIGNATURE_LENGTH
+ seek fh, $I0, 0
+ .local string header, fileName, localExtraField
+ .const string VERSION = 20
+ header = self.'pack_v'(VERSION)
+ $P0 = getattribute self, 'bitFlag'
+ $S0 = self.'pack_v'($P0)
+ header .= $S0
+ $P0 = getattribute self, 'compressionMethod'
+ $S0 = self.'pack_v'($P0)
+ header .= $S0
+ $P0 = getattribute self, 'lastModFileDateTime'
+ $S0 = self.'pack_V'($P0)
+ header .= $S0
+ $P0 = getattribute self, 'crc32'
+ $S0 = self.'pack_V'($P0)
+ header .= $S0
+ $P0 = getattribute self, 'compressedSize'
+ $S0 = self.'pack_V'($P0)
+ header .= $S0
+ $P0 = getattribute self, 'uncompressedSize'
+ $S0 = self.'pack_V'($P0)
+ header .= $S0
+ $P0 = getattribute self, 'fileName'
+ fileName = $P0
+ $I0 = length fileName
+ $S0 = self.'pack_v'($I0)
+ header .= $S0
+ $P0 = getattribute self, 'localExtraField'
+ localExtraField = $P0
+ $I0 = length localExtraField
+ $S0 = self.'pack_v'($I0)
+ header .= $S0
+ $I0 = fh.'puts'(header)
+ if $I0 goto L2
+ .tailcall self.'_ioError'('re-writing local header')
+ L2:
+ seek fh, here, 0
+ .return (AZ_OK)
+.end
+
+.sub 'readChunk' :method
+ .param int chunkSize :optional
+ .param int has_chunkSize :opt_flag
+ if has_chunkSize goto L1
+ chunkSize = 32768
+ L1:
+ $I0 = self.'readIsDone'()
+ unless $I0 goto L2
+ self.'endRead'()
+ .return ('', AZ_STREAM_END)
+ L2:
+ ($S0, $I0) = self.'_readRawChunk'(chunkSize)
+ if $I0 == AZ_OK goto L3
+ .return ('', $I0)
+ L3:
+ $P0 = getattribute self, 'readDataRemaining'
+ $I0 = length $S0
+ $P0 -= $I0
+ $P0 = new 'GzipHandle'
+ $P1 = getattribute self, 'crc32'
+ $I1 = $P1
+ $I1 = $P0.'crc32'($I1, $S0)
+ set $P1, $I1
+ $S1 = $P0.'compress'($S0)
+ .return ($S1, AZ_OK)
+.end
+
+.sub 'rewindData' :method :nsentry
+ $P0 = getattribute self, 'uncompressedSize'
+ $P0 = clone $P0
+ setattribute self, 'readDataRemaining', $P0
+ .return (AZ_OK)
+.end
+
+.sub 'endRead' :method :nsentry
+ $P0 = box 0
+ setattribute self, 'readDataRemaining', $P0
+ .return (AZ_OK)
+.end
+
+.sub 'readIsDone' :method
+ $P0 = getattribute self, 'readDataRemaining'
+ $I0 = $P0
+ $I0 = not $I0
+ .return ($I0)
+.end
+
+.sub '_writeToFileHandle' :method
+ .param pmc fh
+ .param int fhIsSeekable
+ .param int offset
+ $P0 = getattribute self, 'fileName'
+ if null $P0 goto L1
+ $S0 = $P0
+ unless $S0 == '' goto L2
+ L1:
+ self.'_error'("no member name given")
+ L2:
+ $P0 = box offset
+ setattribute self, 'writeLocalHeaderRelativeOffset', $P0
+ $I0 = self.'rewindData'()
+ unless $I0 == AZ_OK goto L3
+ $I0 = self.'_writeLocalFileHeader'(fh)
+ unless $I0 == AZ_OK goto L3
+ $I0 = self.'_writeData'(fh)
+ unless $I0 == AZ_OK goto L3
+ $I0 = self.'_refreshLocalFileHeader'(fh)
+ L3:
+ .return ($I0)
+.end
+
+.sub '_writeData' :method
+ .param pmc writeFh
+ $P0 = getattribute self, 'uncompressedSize'
+ $I0 = $P0
+ if $I0 goto L1
+ $P0 = box 0
+ setattribute self, 'compressedSize', $P0
+ .return (AZ_OK)
+ L1:
+ .local int compressedSize
+ compressedSize = 0
+ L2:
+ ($S0, $I0) = self.'readChunk'()
+ if $I0 == AZ_STREAM_END goto L3
+ if $I0 == AZ_OK goto L4
+ .return ($I0)
+ L4:
+ writeFh.'puts'($S0)
+ $I0 = length $S0
+ compressedSize += $I0
+ goto L2
+ L3:
+ $P0 = box compressedSize
+ setattribute self, 'compressedSize', $P0
+ .return (AZ_OK)
+.end
+
+.sub '_usesFileNamed' :method
+ .param string fileName
+ .return (0)
+.end
+
+=back
+
+=head3 Class Archive;Zip;FileMember
+
+=cut
+
+.namespace ['Archive';'Zip';'FileMember']
+
+.sub '' :init :load :anon
+ $P0 = subclass ['Archive';'Zip';'Member'], ['Archive';'Zip';'FileMember']
+ $P0.'add_attribute'('fh')
+.end
+
+.sub '_usesFileNamed' :method
+ .param string fileName
+ $P0 = getattribute self, 'externalFileName'
+ unless null $P0 goto L1
+ .return (0)
+ L1:
+ $S0 = $P0
+ $I0 = $S0 == fileName
+ .return ($I0)
+.end
+
+.sub 'fh' :method
+ $P0 = getattribute self, 'fh'
+ if null $P0 goto L1
+ $I0 = $P0.'is_closed'()
+ unless $I0 goto L2
+ L1:
+ $P0 = getattribute self, 'externalFileName'
+ $S0 = $P0
+ $P0 = new 'FileHandle'
+ $P0.'open'($S0, 'rb')
+ setattribute self, 'fh', $P0
+ L2:
+ .return ($P0)
+.end
+
+.sub 'endRead' :method
+ $P0 = getattribute self, 'fh'
+ $P0.'close'()
+ $P0 = get_hll_global ['Archive';'Zip';'Member'], 'endRead'
+ $P0(self)
+.end
+
+=head3 Class Archive;Zip;NewFileMember
+
+=cut
+
+.namespace ['Archive';'Zip';'NewFileMember']
+
+.sub '' :init :load :anon
+ $P0 = subclass ['Archive';'Zip';'FileMember'], ['Archive';'Zip';'NewFileMember']
+.end
+
+.sub '_readRawChunk' :method
+ .param int chunkSize
+ if chunkSize goto L1
+ .return ('', AZ_OK)
+ L1:
+ $P0 = self.'fh'()
+ $S0 = read $P0, chunkSize
+ unless $S0 == '' goto L2
+ $I0 = self.'_ioError'("reading data")
+ .return ($S0, $I0)
+ L2:
+ .return ($S0, AZ_OK)
+.end
+
+.sub '_newFromFileNamed'
+ .param string fileName
+ .param string newName :optional
+ .param int has_newName :opt_flag
+ if has_newName goto L1
+ newName = fileName
+ L1:
+ $I0 = stat fileName, .STAT_EXISTS
+ unless $I0 goto L2
+ $I0 = stat fileName, .STAT_ISREG
+ if $I0 goto L3
+ L2:
+ null $P0
+ .return ($P0)
+ L3:
+ $P0 = new ['Archive';'Zip';'NewFileMember']
+ $P1 = box newName
+ setattribute $P0, 'fileName', $P1
+ $P1 = box fileName
+ setattribute $P0, 'externalFileName', $P1
+ $I0 = stat fileName, .STAT_FILESIZE
+ $P1 = box $I0
+ setattribute $P0, 'uncompressedSize', $P1
+ $I1 = COMPRESSION_STORED
+ if $I0 == 0 goto L4
+ $I1 = COMPRESSION_DEFLATED
+ L4:
+ $P1 = box $I1
+ setattribute $P0, 'compressionMethod', $P1
+ $P0.'unixFileAttributes'(0o666)
+ $I0 = stat fileName, .STAT_MODIFYTIME
+ $P0.'setLastModFileDateTimeFromUnix'($I0)
+ .return ($P0)
+.end
+
+.sub 'rewindData' :method
+ $P0 = get_hll_global ['Archive';'Zip';'Member'], 'rewindData'
+ $I0 = $P0(self)
+ if $I0 == AZ_OK goto L1
+ .return ($I0)
+ L1:
+ $P0 = self.'fh'()
+ seek $P0, 0, 0
+ .return (AZ_OK)
+.end
+
+=head3 Class Archive;Zip
+
+=over 4
+
+=cut
+
+.namespace ['Archive';'Zip']
+
+.sub '' :init :load :anon
+ $P0 = subclass ['Archive';'Zip';'Base'], ['Archive';'Zip']
+ $P0.'add_attribute'('members')
+ $P0.'add_attribute'('zipfileComment')
+.end
+
+.sub 'init' :vtable :method
+ $P0 = new 'ResizablePMCArray'
+ setattribute self, 'members', $P0
+ $P0 = box ''
+ setattribute self, 'zipfileComment', $P0
+.end
+
+=item addMember
+
+=cut
+
+.sub 'addMember' :method
+ .param pmc member
+ $P0 = getattribute self, 'members'
+ push $P0, member
+.end
+
+=item addFile
+
+=cut
+
+.sub 'addFile' :method
+ .param string fileName
+ .param string newName :optional
+ $P0 = get_hll_global ['Archive';'Zip';'Member'], 'newFromFile'
+ $P1 = $P0(fileName, newName)
+ self.'addMember'($P1)
+ .return ($P1)
+.end
+
+=item writeToFileNamed
+
+=cut
+
+.sub 'writeToFileNamed' :method
+ .param string fileName
+ $P0 = getattribute self, 'members'
+ $P1 = iter $P0
+ L1:
+ unless $P1 goto L2
+ .local pmc member
+ member = shift $P1
+ $I0 = member.'_usesFileNamed'(fileName)
+ unless $I0 goto L1
+ $S0 = member.'fileName'()
+ .tailcall self.'_error'("$fileName is needed by member ", $S0, "; consider using overwrite() or overwriteAs() instead.")
+ L2:
+ $P0 = new 'FileHandle'
+ push_eh _handler
+ $P0.'open'(fileName, 'wb')
+ pop_eh
+ $I0 = self.'writeToFileHandle'($P0, 1)
+ $P0.'close'()
+ .return ($I0)
+ _handler:
+ .tailcall self.'_ioError'("Can't open ", fileName, " for write")
+.end
+
+=item writeToFileHandle
+
+=cut
+
+.sub 'writeToFileHandle' :method
+ .param pmc fh
+ .param int fhIsSeekable
+ unless null fh goto L1
+ $I0 = isa fh, 'FileHandle'
+ if $I0 goto L1
+ .tailcall self.'_error'('No filehandle given')
+ L1:
+ $I0 = fh.'is_closed'()
+ unless $I0 goto L2
+ .tailcall self.'_ioError'('filehandle not open')
+ L2:
+ .local int offset
+ offset = 0
+ $P0 = getattribute self, 'members'
+ $P1 = iter $P0
+ L3:
+ unless $P1 goto L4
+ .local pmc member
+ member = shift $P1
+ $I0 = member.'_writeToFileHandle'(fh, fhIsSeekable, offset)
+ member.'endRead'()
+ if $I0 == AZ_OK goto L5
+ .return ($I0)
+ L5:
+ $I0 = member.'_localHeaderSize'()
+ offset += $I0
+ $I0 = member.'_writeOffset'()
+ offset += $I0
+ $I0 = member.'hasDataDescriptor'()
+ unless $I0 goto L3
+ offset += DATA_DESCRIPTOR_LENGTH
+ offset += SIGNATURE_LENGTH
+ goto L3
+ L4:
+ .tailcall self.'writeCentralDirectory'(fh, offset)
+.end
+
+.sub writeCentralDirectory :method
+ .param pmc fh
+ .param int CDoffset
+ .local int offset
+ offset = CDoffset
+ $P0 = getattribute self, 'members'
+ $P1 = iter $P0
+ L1:
+ unless $P1 goto L2
+ .local pmc member
+ member = shift $P1
+ $I0 = member.'_writeCentralDirectoryFileHeader'(fh)
+ if $I0 == AZ_OK goto L3
+ .return ($I0)
+ L3:
+ $I0 = member.'_centralDirectoryHeaderSize'()
+ offset += $I0
+ goto L1
+ L2:
+ .tailcall self.'_writeEndOfCentralDirectory'(fh, CDoffset, offset)
+.end
+
+.sub '_writeEndOfCentralDirectory' :method
+ .param pmc fh
+ .param int CDoffset
+ .param int EOCDoffset
+ .const string END_OF_CENTRAL_DIRECTORY_SIGNATURE_STRING = "PK\x05\x06"
+ $I0 = fh.'puts'(END_OF_CENTRAL_DIRECTORY_SIGNATURE_STRING)
+ if $I0 goto L1
+ .tailcall self.'_ioError'('writing EOCD Signature')
+ L1:
+ .local string zipfileComment
+ $P0 = getattribute self, 'zipfileComment'
+ zipfileComment = $P0
+ .local int zipfileCommentLength
+ zipfileCommentLength = length zipfileComment
+ .local int numberOfMembers
+ $P0 = getattribute self, 'members'
+ numberOfMembers = elements $P0
+ .local string header
+ $S0 = self.'pack_v'(0)
+ header = repeat $S0, 2
+ $S0 = self.'pack_v'(numberOfMembers)
+ header .= $S0
+ header .= $S0
+ $I0 = EOCDoffset - CDoffset
+ $S0 = self.'pack_V'($I0)
+ header .= $S0
+ $S0 = self.'pack_V'(CDoffset)
+ header .= $S0
+ $S0 = self.'pack_v'(zipfileCommentLength)
+ header .= $S0
+ $I0 = fh.'puts'(header)
+ if $I0 goto L2
+ .tailcall self.'_ioError'('writing EOCD header')
+ L2:
+ unless zipfileCommentLength goto L3
+ $I0 = fh.'puts'(zipfileComment)
+ if $I0 goto L3
+ .tailcall self.'_ioError'('writing zipfile comment')
+ L3:
+ .return (AZ_OK)
+.end
+
+=back
+
+=head1 AUTHOR
+
+Francois Perrad
+
+=cut
+
+# Local Variables:
+# mode: pir
+# fill-column: 100
+# End:
+# vim: expandtab shiftwidth=4 ft=pir:
Modified: branches/ops_pct/runtime/parrot/library/Getopt/Obj.pir
==============================================================================
--- branches/ops_pct/runtime/parrot/library/Getopt/Obj.pir Sat May 8 01:36:41 2010 (r46398)
+++ branches/ops_pct/runtime/parrot/library/Getopt/Obj.pir Sat May 8 02:08:40 2010 (r46399)
@@ -413,8 +413,8 @@
if type == 'f' goto flt
$P0 = new 'Exception'
$S0 = "Unknown specs option '"
- $S0 .= type
- $S0 .= "'"
+ $S0 = $S0 . type
+ $S0 = $S0 . "'"
$P0 = $S0
throw $P0
@@ -506,8 +506,8 @@
if $I0 goto finish
$P0 = new 'Exception'
$S0 = "Option '"
- $S0 .= key
- $S0 .= "' not in specs"
+ $S0 = $S0 . key
+ $S0 = $S0 . "' not in specs"
$P0 = $S0
throw $P0
finish:
@@ -558,8 +558,8 @@
$P0 = new 'Exception'
$S0 = "Missing a required argument for option '"
- $S0 .= arg
- $S0 .= "'"
+ $S0 = $S0 . arg
+ $S0 = $S0 . "'"
$P0 = $S0
throw $P0
.end
Modified: branches/ops_pct/runtime/parrot/library/PGE/Dumper.pir
==============================================================================
--- branches/ops_pct/runtime/parrot/library/PGE/Dumper.pir Sat May 8 01:36:41 2010 (r46398)
+++ branches/ops_pct/runtime/parrot/library/PGE/Dumper.pir Sat May 8 02:08:40 2010 (r46399)
@@ -112,8 +112,10 @@
if has_b1 goto start
b1 = "["
start:
- .local string out
- out = concat prefix, ':'
+ .local pmc out
+ out = new ['StringBuilder']
+ out = prefix
+ out .= ':'
unless self goto subpats
out .= ' <'
$S0 = self
@@ -136,8 +138,8 @@
unless spi < spc goto subrules
prefix1 = concat prefix, b1
$S0 = spi
- concat prefix1, $S0
- concat prefix1, b2
+ prefix1 = concat prefix1, $S0
+ prefix1 = concat prefix1, b2
$I0 = defined capt[spi]
unless $I0 goto subpats_2
$P0 = capt[spi]
@@ -154,8 +156,8 @@
unless it goto end
$S0 = shift it
prefix1 = concat prefix, '<'
- concat prefix1, $S0
- concat prefix1, ">"
+ prefix1 = concat prefix1, $S0
+ prefix1 = concat prefix1, ">"
$I0 = defined capt[$S0]
unless $I0 goto subrules_1
$P0 = capt[$S0]
@@ -178,8 +180,8 @@
$P1 = $P0[$I0]
prefix2 = concat prefix1, b1
$S0 = $I0
- concat prefix2, $S0
- concat prefix2, b2
+ prefix2 = concat prefix2, $S0
+ prefix2 = concat prefix2, b2
$S0 = $P1.'dump_str'(prefix2, b1, b2)
out .= $S0
inc $I0
@@ -195,7 +197,8 @@
local_return jmpstack
end:
- .return (out)
+ $S0 = out
+ .return ($S0)
.end
Modified: branches/ops_pct/runtime/parrot/library/Test/Builder.pir
==============================================================================
--- branches/ops_pct/runtime/parrot/library/Test/Builder.pir Sat May 8 01:36:41 2010 (r46398)
+++ branches/ops_pct/runtime/parrot/library/Test/Builder.pir Sat May 8 02:08:40 2010 (r46399)
@@ -493,7 +493,8 @@
.local pmc output
output = self.'output'()
- .local string bail_out
+ .local pmc bail_out
+ bail_out = new ['StringBuilder']
bail_out = 'Bail out!'
unless has_reason goto WRITE_REASON
Modified: branches/ops_pct/runtime/parrot/library/Test/Builder/Test.pir
==============================================================================
--- branches/ops_pct/runtime/parrot/library/Test/Builder/Test.pir Sat May 8 01:36:41 2010 (r46398)
+++ branches/ops_pct/runtime/parrot/library/Test/Builder/Test.pir Sat May 8 02:08:40 2010 (r46399)
@@ -231,7 +231,7 @@
concat report, 'ok '
concat report, number_string
- unless description goto REPORT
+ unless desc_string goto REPORT
concat report, ' - '
concat report, desc_string
Modified: branches/ops_pct/runtime/parrot/library/Test/More.pir
==============================================================================
--- branches/ops_pct/runtime/parrot/library/Test/More.pir Sat May 8 01:36:41 2010 (r46398)
+++ branches/ops_pct/runtime/parrot/library/Test/More.pir Sat May 8 02:08:40 2010 (r46399)
@@ -560,7 +560,8 @@
.param int have_desc :opt_flag
.local int result
- .local string diagnosis
+ .local pmc diagnosis
+ diagnosis = new ['StringBuilder']
.local pmc position
position = new 'ResizablePMCArray'
@@ -660,16 +661,21 @@
r_count = r_array
if l_count == r_count goto compare_contents
- .local string l_count_string
- .local string r_count_string
- l_count_string = l_count
+ .local pmc l_count_string
+ .local pmc r_count_string
+ l_count_string = new ['StringBuilder']
+ r_count_string = new ['StringBuilder']
+
+ $S0 = l_count
+ l_count_string = $S0
l_count_string .= ' element'
if l_count == 1 goto pluralization_done
l_count_string .= 's'
pluralization_done:
- r_count_string = r_count
+ $S0 = r_count
+ r_count_string = $S0
push position, l_count_string
push position, r_count_string
@@ -733,16 +739,21 @@
r_count = r_hash
if l_count == r_count goto compare_contents
- .local string l_count_string
- .local string r_count_string
- l_count_string = l_count
+ .local pmc l_count_string
+ .local pmc r_count_string
+ l_count_string = new ['StringBuilder']
+ r_count_string = new ['StringBuilder']
+
+ $S0 = l_count
+ l_count_string = $S0
l_count_string .= ' element'
if l_count == 1 goto pluralization_done
l_count_string .= 's'
pluralization_done:
- r_count_string = r_count
+ $S0 = r_count
+ r_count_string = $S0
push position, l_count_string
push position, r_count_string
@@ -1166,7 +1177,9 @@
.param string description :optional
.local pmc test
- .local string diagnostic
+ .local pmc diagnostic
+ diagnostic = new ['StringBuilder']
+
get_hll_global test, [ 'Test'; 'More' ], '_test'
$I0 = index target, text
$I0 = isne $I0, -1
@@ -1206,7 +1219,8 @@
load_bytecode "PGE/Util.pbc"
p6rule_compile = compreg "PGE::Perl6Regex"
- .local string diagnostic
+ .local pmc diagnostic
+ diagnostic = new ['StringBuilder']
.local int pass
pass = 0
@@ -1320,12 +1334,17 @@
.local pmc test
get_hll_global test, [ 'Test'; 'More' ], '_test'
- .local string description, diagnostic
+ .local pmc description
+ .local pmc diagnostic
+ description = new ['StringBuilder']
+ diagnostic = new ['StringBuilder']
+
description = "The object"
unless got_name goto keep_default
description = object_name
keep_default:
- diagnostic = description
+ $S0 = description
+ diagnostic = $S0
description .= " isa "
$S0 = class_name
description .= $S0
@@ -1346,14 +1365,16 @@
.sub _make_diagnostic
.param string received
.param string expected
- .local string diagnostic
+ .local pmc diagnostic
+ diagnostic = new ['StringBuilder']
diagnostic = 'Have: '
diagnostic .= received
diagnostic .= "\nWant: "
diagnostic .= expected
- .return( diagnostic )
+ $S0 = diagnostic
+ .return( $S0 )
.end
=back
Modified: branches/ops_pct/runtime/parrot/library/distutils.pir
==============================================================================
--- branches/ops_pct/runtime/parrot/library/distutils.pir Sat May 8 01:36:41 2010 (r46398)
+++ branches/ops_pct/runtime/parrot/library/distutils.pir Sat May 8 02:08:40 2010 (r46399)
@@ -124,10 +124,6 @@
curl
-=item sdist_zip
-
-zip
-
=item spec, sdist_rpm, bdist_rpm
rpmbuild
@@ -3033,14 +3029,14 @@
.local pmc archive
archive = new ['Archive';'Tar']
$P1 = archive.'add_files'($P0 :flat)
- .local string dir
- dir = get_tarname('', kv :flat :named)
+ .local string dirname
+ $S0 = get_tarname('', kv :flat :named)
+ dirname = $S0 . '/'
L2:
unless $P1 goto L3
$P2 = shift $P1
$S0 = $P2.'full_path'()
- $S0 = '/' . $S0
- $S0 = dir . $S0
+ $S0 = dirname . $S0
$P2.'rename'($S0)
goto L2
L3:
@@ -3082,23 +3078,28 @@
.param pmc kv :slurpy :named
run_step('manifest', kv :flat :named)
+ load_bytecode 'Archive/Zip.pbc'
$S0 = slurp('MANIFEST')
$P0 = split "\n", $S0
$S0 = pop $P0
- $S0 = get_tarname('.zip', kv :flat :named)
- $I0 = newer($S0, $P0)
+ .local string archive_file
+ archive_file = get_tarname('.zip', kv :flat :named)
+ $I0 = newer(archive_file, $P0)
if $I0 goto L1
- .local string cmd
+ .local pmc archive
+ archive = new ['Archive';'Zip']
+ .local string dirname
$S0 = get_tarname('', kv :flat :named)
- copy_sdist($S0, $P0)
-
- cmd = 'zip -9 -r '
- cmd .= $S0
- cmd .= '.zip '
- cmd .= $S0
- system(cmd, 1 :named('verbose'))
-
- rmtree($S0)
+ dirname = $S0 . '/'
+ $P1 = iter $P0
+ L2:
+ unless $P1 goto L3
+ $S0 = shift $P1
+ $S1 = dirname . $S0
+ archive.'addFile'($S0, $S1)
+ goto L2
+ L3:
+ archive.'writeToFileNamed'(archive_file)
L1:
.end
@@ -3110,21 +3111,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
-
=head3 Step sdist_rpm
=cut
Modified: branches/ops_pct/runtime/parrot/library/parrotlib.pir
==============================================================================
--- branches/ops_pct/runtime/parrot/library/parrotlib.pir Sat May 8 01:36:41 2010 (r46398)
+++ branches/ops_pct/runtime/parrot/library/parrotlib.pir Sat May 8 02:08:40 2010 (r46399)
@@ -36,8 +36,7 @@
OKAY:
# XXX: get include paths from config
- $S0 = clone root
- concat $S0, "/include"
+ $S0 = concat root, "/include"
paths = new 'ResizableStringArray'
push paths, "."
push paths, $S0
@@ -55,7 +54,7 @@
$P1 = clone $P0
$P2 = new 'String'
$S0 = shift paths
- concat $S0, "/"
+ $S0 = concat $S0, "/"
$P2 = $S0
setprop $P1, "path", $P2
push includes, $P1
@@ -134,25 +133,21 @@
stat $I0, name, 0
if $I0 goto END
- name = clone request
- concat name, ext
+ name = concat request, ext
stat $I0, name, 0
if $I0 goto END
- name = "runtime/parrot/dynext/"
- concat name, request
+ name = concat "runtime/parrot/dynext/", request
stat $I0, name, 0
if $I0 goto END
- name = "runtime/parrot/dynext/"
- concat name, request
- concat name, ext
+ name = concat "runtime/parrot/dynext/", request
+ name = concat name, ext
stat $I0, name, 0
if $I0 goto END
# file not found, give the OS a chance to locate it
- name = clone request
- concat name, ext
+ name = concat request, ext
END:
.begin_return
@@ -191,8 +186,7 @@
getprop $P0, "path", $P1
path = $P0
- $S0 = clone path
- concat $S0, name
+ $S0 = concat path, name
stat $I0, $S0, 0
if $I0 goto OK
null $S0
Modified: branches/ops_pct/src/dynpmc/gziphandle.pmc
==============================================================================
--- branches/ops_pct/src/dynpmc/gziphandle.pmc Sat May 8 01:36:41 2010 (r46398)
+++ branches/ops_pct/src/dynpmc/gziphandle.pmc Sat May 8 02:08:40 2010 (r46399)
@@ -248,17 +248,17 @@
METHOD compress(STRING *str) {
int rc;
char *buf;
- STRING *dst = NULL;
- UINTVAL srcLen, bufSize, dstLen;
+ STRING *dst = STRINGNULL;
+ UINTVAL srcLen, dstLen;
char * const src = Parrot_str_to_cstring(INTERP, str);
if (!src)
Parrot_ex_throw_from_c_args(INTERP, NULL, EXCEPTION_ILL_INHERIT,
"failed to allocate");
- srcLen = Parrot_str_byte_length(INTERP, str);
- bufSize = 12 + srcLen + srcLen / 1000;
- buf = mem_allocate_n_zeroed_typed(bufSize, char);
+ srcLen = Parrot_str_byte_length(INTERP, str);
+ dstLen = 12 + srcLen + srcLen / 1000;
+ buf = mem_allocate_n_zeroed_typed(dstLen, char);
if (!buf) {
Parrot_str_free_cstring(src);
@@ -295,6 +295,81 @@
RETURN(STRING *dst);
}
+ METHOD uncompress(STRING *str) {
+ int rc;
+ char *buf;
+ STRING *dst = STRINGNULL;
+ UINTVAL srcLen, dstLen;
+ char * const src = Parrot_str_to_cstring(INTERP, str);
+
+ if (!src)
+ Parrot_ex_throw_from_c_args(INTERP, NULL, EXCEPTION_ILL_INHERIT,
+ "failed to allocate");
+
+ srcLen = Parrot_str_byte_length(INTERP, str);
+ dstLen = 2 * srcLen;
+ REDO:
+ buf = mem_allocate_n_zeroed_typed(dstLen, char);
+
+ if (!buf) {
+ Parrot_str_free_cstring(src);
+ Parrot_ex_throw_from_c_args(INTERP, NULL, EXCEPTION_ILL_INHERIT,
+ "failed to allocate");
+ }
+
+ rc = uncompress((Bytef *)buf, &dstLen, (const Bytef *)src, srcLen);
+
+ switch (rc) {
+ case Z_OK:
+ Parrot_str_free_cstring(src);
+ dst = Parrot_str_new(INTERP, buf, dstLen);
+ mem_sys_free(buf);
+ break;
+
+ case Z_MEM_ERROR:
+ Parrot_str_free_cstring(src);
+ mem_sys_free(buf);
+ Parrot_ex_throw_from_c_args(INTERP, NULL, EXCEPTION_ILL_INHERIT,
+ "not enough memory");
+ break;
+
+ case Z_BUF_ERROR:
+ mem_sys_free(buf);
+ dstLen *= 2;
+ goto REDO;
+
+ case Z_DATA_ERROR:
+ Parrot_str_free_cstring(src);
+ mem_sys_free(buf);
+ Parrot_ex_throw_from_c_args(INTERP, NULL, EXCEPTION_ILL_INHERIT,
+ "input data corrupted");
+ break;
+
+ default:
+ /* these are the only four documented return values */
+ break;
+ }
+
+ RETURN(STRING *dst);
+ }
+
+ METHOD crc32(INTVAL crc, STRING *str) {
+ int rc;
+ char *buf;
+ STRING *dst = NULL;
+ UINTVAL srcLen, bufSize, dstLen;
+ char * const src = Parrot_str_to_cstring(INTERP, str);
+
+ if (!src)
+ Parrot_ex_throw_from_c_args(INTERP, NULL, EXCEPTION_ILL_INHERIT,
+ "failed to allocate");
+
+ srcLen = Parrot_str_byte_length(INTERP, str);
+
+ crc = crc32(crc, (const Bytef *)src, srcLen);
+ RETURN(INTVAL crc);
+ }
+
/*
=back
Modified: branches/ops_pct/src/embed.c
==============================================================================
--- branches/ops_pct/src/embed.c Sat May 8 01:36:41 2010 (r46398)
+++ branches/ops_pct/src/embed.c Sat May 8 02:08:40 2010 (r46399)
@@ -27,6 +27,8 @@
#include "../compilers/imcc/imc.h"
+#include "embed.str"
+
/* HEADERIZER HFILE: none */ /* The visible types are different than what we use in here */
/* HEADERIZER BEGIN: static */
@@ -78,6 +80,7 @@
PARROT_EXPORT
PARROT_CANNOT_RETURN_NULL
+PARROT_MALLOC
Parrot_Interp
Parrot_new(ARGIN_NULLOK(Parrot_Interp parent))
{
@@ -1085,26 +1088,25 @@
PARROT_EXPORT
Parrot_PMC
-Parrot_compile_string(PARROT_INTERP, Parrot_String type,
- const char *code, Parrot_String *error)
+Parrot_compile_string(PARROT_INTERP, Parrot_String type, ARGIN(const char *code),
+ ARGOUT(Parrot_String *error))
{
/* For the benefit of embedders that do not load any pbc
* before compiling a string */
if (!interp->initial_pf) {
/* SIDE EFFECT: PackFile_new_dummy sets interp->initial_pf */
- interp->initial_pf = PackFile_new_dummy(interp,
- Parrot_str_new_constant(interp, "compile_string"));
+ interp->initial_pf = PackFile_new_dummy(interp, CONST_STRING(interp, "compile_string"));
/* Assumption: there is no valid reason to fail to create it.
* If the assumption changes, replace the assertion with a
* runtime check */
PARROT_ASSERT(interp->initial_pf);
}
- if (Parrot_str_compare(interp, Parrot_str_new(interp, "PIR", 3), type) == 0)
+ if (Parrot_str_compare(interp, CONST_STRING(interp, "PIR"), type) == 0)
return IMCC_compile_pir_s(interp, code, error);
- if (Parrot_str_compare(interp, Parrot_str_new(interp, "PASM", 4), type) == 0)
+ if (Parrot_str_compare(interp, CONST_STRING(interp, "PASM"), type) == 0)
return IMCC_compile_pasm_s(interp, code, error);
*error = Parrot_str_new(interp, "Invalid interpreter type", 0);
Modified: branches/ops_pct/src/gc/gc_ms.c
==============================================================================
--- branches/ops_pct/src/gc/gc_ms.c Sat May 8 01:36:41 2010 (r46398)
+++ branches/ops_pct/src/gc/gc_ms.c Sat May 8 02:08:40 2010 (r46399)
@@ -1251,6 +1251,17 @@
mem = (char *)mem_allocate(interp, interp->mem_pools, new_size, pool);
mem += sizeof (void *);
+ /* Update Memory_Block usage */
+ /* We must not reallocate non-movable buffers! */
+ PARROT_ASSERT(PObj_is_movable_TESTALL(str));
+
+ /* We must not reallocate shared buffers! */
+ PARROT_ASSERT(!(*Buffer_bufrefcountptr(str) & Buffer_shared_FLAG));
+
+ /* Decrease usage */
+ PARROT_ASSERT(Buffer_pool(str));
+ Buffer_pool(str)->freed += ALIGNED_STRING_SIZE(Buffer_buflen(str));
+
/* copy mem from strstart, *not* bufstart */
oldmem = str->strstart;
Buffer_bufstart(str) = (void *)mem;
Modified: branches/ops_pct/src/hll.c
==============================================================================
--- branches/ops_pct/src/hll.c Sat May 8 01:36:41 2010 (r46398)
+++ branches/ops_pct/src/hll.c Sat May 8 02:08:40 2010 (r46399)
@@ -200,9 +200,8 @@
{
ASSERT_ARGS(Parrot_register_HLL_lib)
PMC *hll_info = interp->HLL_info;
- INTVAL nelements, i;
-
- nelements = VTABLE_elements(interp, hll_info);
+ const INTVAL nelements = VTABLE_elements(interp, hll_info);
+ INTVAL i;
for (i = 0; i < nelements; ++i) {
PMC * const entry = VTABLE_get_pmc_keyed_int(interp, hll_info, i);
Modified: branches/ops_pct/src/interp/inter_create.c
==============================================================================
--- branches/ops_pct/src/interp/inter_create.c Sat May 8 01:36:41 2010 (r46398)
+++ branches/ops_pct/src/interp/inter_create.c Sat May 8 02:08:40 2010 (r46399)
@@ -83,14 +83,13 @@
PARROT_EXPORT
PARROT_CANNOT_RETURN_NULL
+PARROT_MALLOC
Parrot_Interp
make_interpreter(ARGIN_NULLOK(Interp *parent), INTVAL flags)
{
ASSERT_ARGS(make_interpreter)
int stacktop;
- Interp *interp;
-
- interp = allocate_interpreter(parent, flags);
+ Interp * const interp = allocate_interpreter(parent, flags);
initialize_interpreter(interp, (void*)&stacktop);
return interp;
}
@@ -114,6 +113,7 @@
PARROT_EXPORT
PARROT_CANNOT_RETURN_NULL
+PARROT_MALLOC
Parrot_Interp
allocate_interpreter(ARGIN_NULLOK(Interp *parent), INTVAL flags)
{
Modified: branches/ops_pct/src/library.c
==============================================================================
--- branches/ops_pct/src/library.c Sat May 8 01:36:41 2010 (r46398)
+++ branches/ops_pct/src/library.c Sat May 8 02:08:40 2010 (r46399)
@@ -505,8 +505,7 @@
ASSERT_ARGS(path_concat)
STRING* join;
- join = l_path;
- join = path_guarantee_trailing_separator(interp, join);
+ join = path_guarantee_trailing_separator(interp, l_path);
join = Parrot_str_concat(interp, join, r_path);
return join;
@@ -530,9 +529,7 @@
try_load_path(PARROT_INTERP, ARGMOD(STRING* path))
{
ASSERT_ARGS(try_load_path)
- STRING *final;
-
- final = path_finalize(interp, path);
+ STRING * const final = path_finalize(interp, path);
if (Parrot_stat_info_intval(interp, final, STAT_EXISTS)) {
return final;
Modified: branches/ops_pct/src/ops/core_ops.c
==============================================================================
--- branches/ops_pct/src/ops/core_ops.c Sat May 8 01:36:41 2010 (r46398)
+++ branches/ops_pct/src/ops/core_ops.c Sat May 8 02:08:40 2010 (r46399)
@@ -16959,18 +16959,21 @@
opcode_t *
Parrot_end(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 55 "src/ops/core.ops"
return (opcode_t *)0;
}
opcode_t *
Parrot_noop(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 93 "src/ops/core.ops"
return (opcode_t *)cur_opcode + 1;}
opcode_t *
Parrot_check_events(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 96 "src/ops/core.ops"
opcode_t * const next = cur_opcode + 1;
Parrot_cx_check_tasks(interp, interp->scheduler);
return (opcode_t *)next; /* force this being a branch op */
@@ -16979,6 +16982,7 @@
opcode_t *
Parrot_check_events__(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 102 "src/ops/core.ops"
opcode_t * const _this = CUR_OPCODE;
/* Restore op_func_table. */
disable_event_checking(interp);
@@ -16989,6 +16993,7 @@
opcode_t *
Parrot_wrapper__(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 110 "src/ops/core.ops"
opcode_t *pc = CUR_OPCODE;
DO_OP(pc, interp);
return (opcode_t *)pc;
@@ -16997,6 +17002,7 @@
opcode_t *
Parrot_load_bytecode_s(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 116 "src/ops/core.ops"
Parrot_load_bytecode(interp, SREG(1));
return (opcode_t *)cur_opcode + 2;}
@@ -17004,6 +17010,7 @@
opcode_t *
Parrot_load_bytecode_sc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 116 "src/ops/core.ops"
Parrot_load_bytecode(interp, CONST(1)->u.string);
return (opcode_t *)cur_opcode + 2;}
@@ -17011,6 +17018,7 @@
opcode_t *
Parrot_load_language_s(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 127 "src/ops/core.ops"
Parrot_load_language(interp, SREG(1));
return (opcode_t *)cur_opcode + 2;}
@@ -17018,6 +17026,7 @@
opcode_t *
Parrot_load_language_sc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 127 "src/ops/core.ops"
Parrot_load_language(interp, CONST(1)->u.string);
return (opcode_t *)cur_opcode + 2;}
@@ -17025,18 +17034,21 @@
opcode_t *
Parrot_branch_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 153 "src/ops/core.ops"
return (opcode_t *)cur_opcode + IREG(1);
}
opcode_t *
Parrot_branch_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 153 "src/ops/core.ops"
return (opcode_t *)cur_opcode + cur_opcode[1];
}
opcode_t *
Parrot_local_branch_p_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 167 "src/ops/core.ops"
INTVAL return_addr;
opcode_t * const dest = cur_opcode + 3;
@@ -17056,6 +17068,7 @@
opcode_t *
Parrot_local_branch_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 167 "src/ops/core.ops"
INTVAL return_addr;
opcode_t * const dest = cur_opcode + 3;
@@ -17075,6 +17088,7 @@
opcode_t *
Parrot_local_return_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 190 "src/ops/core.ops"
INTVAL return_addr;
opcode_t *next;
opcode_t * const dest = cur_opcode + 2;
@@ -17104,6 +17118,7 @@
opcode_t *
Parrot_jump_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 225 "src/ops/core.ops"
opcode_t * const loc = INTVAL2PTR(opcode_t *, IREG(1));
return (opcode_t *)loc;
}
@@ -17111,6 +17126,7 @@
opcode_t *
Parrot_jump_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 225 "src/ops/core.ops"
opcode_t * const loc = INTVAL2PTR(opcode_t *, cur_opcode[1]);
return (opcode_t *)loc;
}
@@ -17118,6 +17134,7 @@
opcode_t *
Parrot_enternative(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 238 "src/ops/core.ops"
opcode_t * const addr = run_native(interp, CUR_OPCODE,
interp->code->base.data);
return (opcode_t *)addr;
@@ -17126,6 +17143,7 @@
opcode_t *
Parrot_if_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 273 "src/ops/core.ops"
if (IREG(1) != 0)
return (opcode_t *)cur_opcode + cur_opcode[2];
@@ -17134,6 +17152,7 @@
opcode_t *
Parrot_if_n_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 278 "src/ops/core.ops"
if (!FLOAT_IS_ZERO(NREG(1)))
return (opcode_t *)cur_opcode + cur_opcode[2];
@@ -17142,6 +17161,7 @@
opcode_t *
Parrot_if_s_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 283 "src/ops/core.ops"
if (Parrot_str_boolean(interp, SREG(1)))
return (opcode_t *)cur_opcode + cur_opcode[2];
@@ -17150,6 +17170,7 @@
opcode_t *
Parrot_if_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 288 "src/ops/core.ops"
if (VTABLE_get_bool(interp, PREG(1)))
return (opcode_t *)cur_opcode + cur_opcode[2];
@@ -17158,6 +17179,7 @@
opcode_t *
Parrot_unless_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 307 "src/ops/core.ops"
if (IREG(1) == 0)
return (opcode_t *)cur_opcode + cur_opcode[2];
@@ -17166,6 +17188,7 @@
opcode_t *
Parrot_unless_n_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 312 "src/ops/core.ops"
if (FLOAT_IS_ZERO(NREG(1)))
return (opcode_t *)cur_opcode + cur_opcode[2];
@@ -17174,6 +17197,7 @@
opcode_t *
Parrot_unless_s_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 317 "src/ops/core.ops"
if (!Parrot_str_boolean(interp, SREG(1)))
return (opcode_t *)cur_opcode + cur_opcode[2];
@@ -17182,6 +17206,7 @@
opcode_t *
Parrot_unless_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 322 "src/ops/core.ops"
if (!VTABLE_get_bool(interp, PREG(1)))
return (opcode_t *)cur_opcode + cur_opcode[2];
@@ -17190,6 +17215,7 @@
opcode_t *
Parrot_invokecc_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 377 "src/ops/core.ops"
PMC * const p = PREG(1);
opcode_t *dest = cur_opcode + 2;
PMC * const signature = Parrot_pcc_get_signature(interp,
@@ -17206,6 +17232,7 @@
opcode_t *
Parrot_invoke_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 391 "src/ops/core.ops"
opcode_t *dest = cur_opcode + 3;
PMC * const p = PREG(1);
PMC * const signature = Parrot_pcc_get_signature(interp,
@@ -17222,6 +17249,7 @@
opcode_t *
Parrot_yield(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 405 "src/ops/core.ops"
opcode_t *dest = cur_opcode + 1;
PMC * const p = Parrot_pcc_get_sub(interp, CURRENT_CONTEXT(interp));
@@ -17234,6 +17262,7 @@
opcode_t *
Parrot_tailcall_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 415 "src/ops/core.ops"
PMC * const p = PREG(1);
opcode_t *dest = cur_opcode + 2;
PMC * const ctx = CURRENT_CONTEXT(interp);
@@ -17252,6 +17281,7 @@
opcode_t *
Parrot_returncc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 431 "src/ops/core.ops"
PMC * const p = Parrot_pcc_get_continuation(interp, CURRENT_CONTEXT(interp));
opcode_t * const dest = VTABLE_invoke(interp, p, cur_opcode + 1);
return (opcode_t *)dest;
@@ -17260,6 +17290,7 @@
opcode_t *
Parrot_capture_lex_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 437 "src/ops/core.ops"
Parrot_capture_lex(interp, PREG(1));
return (opcode_t *)cur_opcode + 2;}
@@ -17267,6 +17298,7 @@
opcode_t *
Parrot_newclosure_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 441 "src/ops/core.ops"
PREG(1) = parrot_new_closure(interp, PREG(2));
return (opcode_t *)cur_opcode + 3;}
@@ -17274,6 +17306,7 @@
opcode_t *
Parrot_set_args_pc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 479 "src/ops/core.ops"
opcode_t * const raw_args = CUR_OPCODE;
PMC * const signature = CONST(1)->u.key;
PMC * call_sig;
@@ -17290,6 +17323,7 @@
opcode_t *
Parrot_get_params_pc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 493 "src/ops/core.ops"
opcode_t * const raw_params = CUR_OPCODE;
PMC * const signature = CONST(1)->u.key;
PMC * const ctx = CURRENT_CONTEXT(interp);
@@ -17314,6 +17348,7 @@
opcode_t *
Parrot_set_returns_pc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 515 "src/ops/core.ops"
opcode_t * const raw_args = CUR_OPCODE;
PMC * const signature = CONST(1)->u.key;
PMC * const call_sig = Parrot_pcc_build_sig_object_from_op(interp,
@@ -17331,6 +17366,7 @@
opcode_t *
Parrot_get_results_pc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 530 "src/ops/core.ops"
opcode_t * const raw_params = CUR_OPCODE;
PMC * const signature = CONST(1)->u.key;
PMC *ctx = CURRENT_CONTEXT(interp);
@@ -17349,6 +17385,7 @@
opcode_t *
Parrot_set_result_info_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 552 "src/ops/core.ops"
PMC * const ctx = CURRENT_CONTEXT(interp);
VTABLE_set_attr_str(interp, ctx,
@@ -17360,6 +17397,7 @@
opcode_t *
Parrot_set_result_info_pc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 552 "src/ops/core.ops"
PMC * const ctx = CURRENT_CONTEXT(interp);
VTABLE_set_attr_str(interp, ctx,
@@ -17371,6 +17409,7 @@
opcode_t *
Parrot_result_info_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 569 "src/ops/core.ops"
PMC * const caller_ctx = Parrot_pcc_get_caller_ctx(interp, CURRENT_CONTEXT(interp));
PMC * const sig = VTABLE_get_attr_str(interp, caller_ctx,
Parrot_str_new_constant(interp, "return_flags"));
@@ -17386,6 +17425,7 @@
opcode_t *
Parrot_set_addr_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 609 "src/ops/core.ops"
IREG(1) = PTR2INTVAL(CUR_OPCODE + cur_opcode[2]);
return (opcode_t *)cur_opcode + 3;}
@@ -17393,6 +17433,7 @@
opcode_t *
Parrot_set_addr_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 613 "src/ops/core.ops"
VTABLE_set_pointer(interp, PREG(1), (CUR_OPCODE + cur_opcode[2]));
return (opcode_t *)cur_opcode + 3;}
@@ -17400,6 +17441,7 @@
opcode_t *
Parrot_set_addr_p_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 617 "src/ops/core.ops"
VTABLE_set_pointer(interp, PREG(1), (void*)IREG(2));
return (opcode_t *)cur_opcode + 3;}
@@ -17407,6 +17449,7 @@
opcode_t *
Parrot_get_addr_i_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 621 "src/ops/core.ops"
void *ptr = VTABLE_get_pointer(interp, PREG(2));
IREG(1) = (INTVAL)ptr;
@@ -17415,6 +17458,7 @@
opcode_t *
Parrot_schedule_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 643 "src/ops/core.ops"
Parrot_cx_schedule_task(interp, PREG(1));
return (opcode_t *)cur_opcode + 2;}
@@ -17422,6 +17466,7 @@
opcode_t *
Parrot_addhandler_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 654 "src/ops/core.ops"
Parrot_cx_add_handler(interp, PREG(1));
return (opcode_t *)cur_opcode + 2;}
@@ -17429,6 +17474,7 @@
opcode_t *
Parrot_push_eh_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 716 "src/ops/core.ops"
PMC * const eh = Parrot_pmc_new(interp, enum_class_ExceptionHandler);
VTABLE_set_pointer(interp, eh, CUR_OPCODE + cur_opcode[1]);
Parrot_cx_add_handler_local(interp, eh);
@@ -17438,6 +17484,7 @@
opcode_t *
Parrot_push_eh_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 722 "src/ops/core.ops"
Parrot_cx_add_handler_local(interp, PREG(1));
return (opcode_t *)cur_opcode + 2;}
@@ -17445,6 +17492,7 @@
opcode_t *
Parrot_pop_eh(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 726 "src/ops/core.ops"
Parrot_cx_delete_handler_local(interp,
Parrot_str_new_constant(interp, "exception"));
@@ -17453,6 +17501,7 @@
opcode_t *
Parrot_throw_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 731 "src/ops/core.ops"
PMC * except = PREG(1);
opcode_t *dest;
opcode_t * const ret = cur_opcode + 2;
@@ -17473,6 +17522,7 @@
opcode_t *
Parrot_throw_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 749 "src/ops/core.ops"
opcode_t * dest;
PMC * except = PREG(1);
if (PMC_IS_NULL(except) || except->vtable->base_type != enum_class_Exception)
@@ -17487,6 +17537,7 @@
opcode_t *
Parrot_rethrow_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 761 "src/ops/core.ops"
opcode_t * dest;
if (PMC_IS_NULL(PREG(1)) || PREG(1)->vtable->base_type != enum_class_Exception) {
opcode_t * const ret = cur_opcode + 2;
@@ -17503,6 +17554,7 @@
opcode_t *
Parrot_count_eh_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 775 "src/ops/core.ops"
IREG(1) = Parrot_cx_count_handlers_local(interp,
Parrot_str_new_constant(interp, "exception"));
@@ -17511,6 +17563,7 @@
opcode_t *
Parrot_die_s(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 780 "src/ops/core.ops"
opcode_t *dest;
opcode_t * const ret = cur_opcode + 2;
PMC * const resume = pmc_new(interp, enum_class_Continuation);
@@ -17528,6 +17581,7 @@
opcode_t *
Parrot_die_sc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 780 "src/ops/core.ops"
opcode_t *dest;
opcode_t * const ret = cur_opcode + 2;
PMC * const resume = pmc_new(interp, enum_class_Continuation);
@@ -17545,6 +17599,7 @@
opcode_t *
Parrot_die_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 795 "src/ops/core.ops"
opcode_t *dest;
opcode_t * const ret = cur_opcode + 2;
PMC * const resume = pmc_new(interp, enum_class_Continuation);
@@ -17563,6 +17618,7 @@
opcode_t *
Parrot_die_pc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 795 "src/ops/core.ops"
opcode_t *dest;
opcode_t * const ret = cur_opcode + 2;
PMC * const resume = pmc_new(interp, enum_class_Continuation);
@@ -17581,6 +17637,7 @@
opcode_t *
Parrot_die_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 811 "src/ops/core.ops"
if (IREG(1) == EXCEPT_doomed)
_exit(IREG(2));
else {
@@ -17595,6 +17652,7 @@
opcode_t *
Parrot_die_ic_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 811 "src/ops/core.ops"
if (cur_opcode[1] == EXCEPT_doomed)
_exit(IREG(2));
else {
@@ -17609,6 +17667,7 @@
opcode_t *
Parrot_die_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 811 "src/ops/core.ops"
if (IREG(1) == EXCEPT_doomed)
_exit(cur_opcode[2]);
else {
@@ -17623,6 +17682,7 @@
opcode_t *
Parrot_die_ic_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 811 "src/ops/core.ops"
if (cur_opcode[1] == EXCEPT_doomed)
_exit(cur_opcode[2]);
else {
@@ -17637,6 +17697,7 @@
opcode_t *
Parrot_exit_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 823 "src/ops/core.ops"
opcode_t *dest;
opcode_t * const ret = cur_opcode + 2;
PMC * const resume = pmc_new(interp, enum_class_Continuation);
@@ -17655,6 +17716,7 @@
opcode_t *
Parrot_exit_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 823 "src/ops/core.ops"
opcode_t *dest;
opcode_t * const ret = cur_opcode + 2;
PMC * const resume = pmc_new(interp, enum_class_Continuation);
@@ -17673,6 +17735,7 @@
opcode_t *
Parrot_debug_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 862 "src/ops/core.ops"
if (IREG(1) != 0) { Interp_debug_SET(interp, IREG(1)); }
else { Interp_debug_CLEAR(interp, PARROT_ALL_DEBUG_FLAGS); }
interp->resume_offset = REL_PC + 2; interp->resume_flag = 1; return (opcode_t *)0;
@@ -17681,6 +17744,7 @@
opcode_t *
Parrot_debug_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 862 "src/ops/core.ops"
if (cur_opcode[1] != 0) { Interp_debug_SET(interp, cur_opcode[1]); }
else { Interp_debug_CLEAR(interp, PARROT_ALL_DEBUG_FLAGS); }
interp->resume_offset = REL_PC + 2; interp->resume_flag = 1; return (opcode_t *)0;
@@ -17689,6 +17753,7 @@
opcode_t *
Parrot_bounds_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 877 "src/ops/core.ops"
if (IREG(1) != 0) { Parrot_set_flag(interp, PARROT_BOUNDS_FLAG); }
else { Interp_flags_CLEAR(interp, PARROT_BOUNDS_FLAG); }
interp->resume_offset = REL_PC + 2; interp->resume_flag = 1; return (opcode_t *)0;
@@ -17697,6 +17762,7 @@
opcode_t *
Parrot_bounds_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 877 "src/ops/core.ops"
if (cur_opcode[1] != 0) { Parrot_set_flag(interp, PARROT_BOUNDS_FLAG); }
else { Interp_flags_CLEAR(interp, PARROT_BOUNDS_FLAG); }
interp->resume_offset = REL_PC + 2; interp->resume_flag = 1; return (opcode_t *)0;
@@ -17705,6 +17771,7 @@
opcode_t *
Parrot_profile_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 892 "src/ops/core.ops"
if (IREG(1) != 0) { Parrot_set_flag(interp, PARROT_PROFILE_FLAG); }
else { Interp_flags_CLEAR(interp, PARROT_PROFILE_FLAG); }
interp->resume_offset = REL_PC + 2; interp->resume_flag = 1; return (opcode_t *)0;
@@ -17713,6 +17780,7 @@
opcode_t *
Parrot_profile_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 892 "src/ops/core.ops"
if (cur_opcode[1] != 0) { Parrot_set_flag(interp, PARROT_PROFILE_FLAG); }
else { Interp_flags_CLEAR(interp, PARROT_PROFILE_FLAG); }
interp->resume_offset = REL_PC + 2; interp->resume_flag = 1; return (opcode_t *)0;
@@ -17721,6 +17789,7 @@
opcode_t *
Parrot_trace_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 907 "src/ops/core.ops"
if (IREG(1) != 0) { Parrot_set_trace(interp, IREG(1)); }
else { Parrot_clear_trace(interp, PARROT_ALL_TRACE_FLAGS); }
interp->resume_offset = REL_PC + 2; interp->resume_flag = 1; return (opcode_t *)0;
@@ -17729,6 +17798,7 @@
opcode_t *
Parrot_trace_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 907 "src/ops/core.ops"
if (cur_opcode[1] != 0) { Parrot_set_trace(interp, cur_opcode[1]); }
else { Parrot_clear_trace(interp, PARROT_ALL_TRACE_FLAGS); }
interp->resume_offset = REL_PC + 2; interp->resume_flag = 1; return (opcode_t *)0;
@@ -17737,6 +17807,7 @@
opcode_t *
Parrot_gc_debug_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 921 "src/ops/core.ops"
if (IREG(1) != 0) { Interp_flags_SET(interp, PARROT_GC_DEBUG_FLAG); }
else { Interp_flags_CLEAR(interp, PARROT_GC_DEBUG_FLAG); }
@@ -17745,6 +17816,7 @@
opcode_t *
Parrot_gc_debug_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 921 "src/ops/core.ops"
if (cur_opcode[1] != 0) { Interp_flags_SET(interp, PARROT_GC_DEBUG_FLAG); }
else { Interp_flags_CLEAR(interp, PARROT_GC_DEBUG_FLAG); }
@@ -17753,6 +17825,7 @@
opcode_t *
Parrot_interpinfo_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 955 "src/ops/core.ops"
IREG(1) = interpinfo(interp, IREG(2));
return (opcode_t *)cur_opcode + 3;}
@@ -17760,6 +17833,7 @@
opcode_t *
Parrot_interpinfo_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 955 "src/ops/core.ops"
IREG(1) = interpinfo(interp, cur_opcode[2]);
return (opcode_t *)cur_opcode + 3;}
@@ -17767,6 +17841,7 @@
opcode_t *
Parrot_interpinfo_p_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 959 "src/ops/core.ops"
PREG(1) = interpinfo_p(interp, IREG(2));
return (opcode_t *)cur_opcode + 3;}
@@ -17774,6 +17849,7 @@
opcode_t *
Parrot_interpinfo_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 959 "src/ops/core.ops"
PREG(1) = interpinfo_p(interp, cur_opcode[2]);
return (opcode_t *)cur_opcode + 3;}
@@ -17781,6 +17857,7 @@
opcode_t *
Parrot_interpinfo_s_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 963 "src/ops/core.ops"
STRING * const s = interpinfo_s(interp, IREG(2));
SREG(1) = s;
@@ -17789,6 +17866,7 @@
opcode_t *
Parrot_interpinfo_s_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 963 "src/ops/core.ops"
STRING * const s = interpinfo_s(interp, cur_opcode[2]);
SREG(1) = s;
@@ -17797,6 +17875,7 @@
opcode_t *
Parrot_warningson_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 983 "src/ops/core.ops"
PARROT_WARNINGS_on(interp, IREG(1));
return (opcode_t *)cur_opcode + 2;}
@@ -17804,6 +17883,7 @@
opcode_t *
Parrot_warningson_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 983 "src/ops/core.ops"
PARROT_WARNINGS_on(interp, cur_opcode[1]);
return (opcode_t *)cur_opcode + 2;}
@@ -17811,6 +17891,7 @@
opcode_t *
Parrot_warningsoff_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 995 "src/ops/core.ops"
PARROT_WARNINGS_off(interp, IREG(1));
return (opcode_t *)cur_opcode + 2;}
@@ -17818,6 +17899,7 @@
opcode_t *
Parrot_warningsoff_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 995 "src/ops/core.ops"
PARROT_WARNINGS_off(interp, cur_opcode[1]);
return (opcode_t *)cur_opcode + 2;}
@@ -17825,6 +17907,7 @@
opcode_t *
Parrot_errorson_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 1030 "src/ops/core.ops"
PARROT_ERRORS_on(interp, IREG(1));
return (opcode_t *)cur_opcode + 2;}
@@ -17832,6 +17915,7 @@
opcode_t *
Parrot_errorson_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 1030 "src/ops/core.ops"
PARROT_ERRORS_on(interp, cur_opcode[1]);
return (opcode_t *)cur_opcode + 2;}
@@ -17839,6 +17923,7 @@
opcode_t *
Parrot_errorsoff_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 1042 "src/ops/core.ops"
PARROT_ERRORS_off(interp, IREG(1));
return (opcode_t *)cur_opcode + 2;}
@@ -17846,6 +17931,7 @@
opcode_t *
Parrot_errorsoff_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 1042 "src/ops/core.ops"
PARROT_ERRORS_off(interp, cur_opcode[1]);
return (opcode_t *)cur_opcode + 2;}
@@ -17853,6 +17939,7 @@
opcode_t *
Parrot_runinterp_p_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 1058 "src/ops/core.ops"
Interp * const new_interp = (Interp *)VTABLE_get_pointer(interp, PREG(1));
Interp_flags_SET(new_interp, PARROT_EXTERN_CODE_FLAG);
Parrot_switch_to_cs(new_interp, interp->code, 1);
@@ -17863,6 +17950,7 @@
opcode_t *
Parrot_runinterp_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 1058 "src/ops/core.ops"
Interp * const new_interp = (Interp *)VTABLE_get_pointer(interp, PREG(1));
Interp_flags_SET(new_interp, PARROT_EXTERN_CODE_FLAG);
Parrot_switch_to_cs(new_interp, interp->code, 1);
@@ -17873,6 +17961,7 @@
opcode_t *
Parrot_getinterp_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 1065 "src/ops/core.ops"
PREG(1) = VTABLE_get_pmc_keyed_int(interp, interp->iglobals,
IGLOBALS_INTERPRETER);
@@ -17881,6 +17970,7 @@
opcode_t *
Parrot_sweep_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 1109 "src/ops/core.ops"
if (cur_opcode[1])
Parrot_gc_mark_and_sweep(interp, 0);
else
@@ -17892,6 +17982,7 @@
opcode_t *
Parrot_collect(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 1123 "src/ops/core.ops"
Parrot_gc_compact_memory_pool(interp);
return (opcode_t *)cur_opcode + 1;}
@@ -17899,6 +17990,7 @@
opcode_t *
Parrot_sweepoff(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 1133 "src/ops/core.ops"
Parrot_block_GC_mark(interp);
return (opcode_t *)cur_opcode + 1;}
@@ -17906,6 +17998,7 @@
opcode_t *
Parrot_sweepon(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 1143 "src/ops/core.ops"
Parrot_unblock_GC_mark(interp);
return (opcode_t *)cur_opcode + 1;}
@@ -17913,6 +18006,7 @@
opcode_t *
Parrot_collectoff(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 1153 "src/ops/core.ops"
Parrot_block_GC_sweep(interp);
return (opcode_t *)cur_opcode + 1;}
@@ -17920,6 +18014,7 @@
opcode_t *
Parrot_collecton(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 1163 "src/ops/core.ops"
Parrot_unblock_GC_sweep(interp);
return (opcode_t *)cur_opcode + 1;}
@@ -17927,6 +18022,7 @@
opcode_t *
Parrot_needs_destroy_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 1174 "src/ops/core.ops"
Parrot_gc_pmc_needs_early_collection(interp, PREG(1));
return (opcode_t *)cur_opcode + 2;}
@@ -17934,6 +18030,7 @@
opcode_t *
Parrot_loadlib_p_s(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 1243 "src/ops/core.ops"
PREG(1) = Parrot_load_lib(interp, SREG(2), NULL);
return (opcode_t *)cur_opcode + 3;}
@@ -17941,6 +18038,7 @@
opcode_t *
Parrot_loadlib_p_sc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 1243 "src/ops/core.ops"
PREG(1) = Parrot_load_lib(interp, CONST(2)->u.string, NULL);
return (opcode_t *)cur_opcode + 3;}
@@ -17948,6 +18046,7 @@
opcode_t *
Parrot_loadlib_p_s_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 1247 "src/ops/core.ops"
PREG(1) = Parrot_load_lib(interp, SREG(2), PREG(3));
return (opcode_t *)cur_opcode + 4;}
@@ -17955,6 +18054,7 @@
opcode_t *
Parrot_loadlib_p_sc_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 1247 "src/ops/core.ops"
PREG(1) = Parrot_load_lib(interp, CONST(2)->u.string, PREG(3));
return (opcode_t *)cur_opcode + 4;}
@@ -17962,6 +18062,7 @@
opcode_t *
Parrot_loadlib_p_s_pc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 1247 "src/ops/core.ops"
PREG(1) = Parrot_load_lib(interp, SREG(2), CONST(3)->u.key);
return (opcode_t *)cur_opcode + 4;}
@@ -17969,6 +18070,7 @@
opcode_t *
Parrot_loadlib_p_sc_pc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 1247 "src/ops/core.ops"
PREG(1) = Parrot_load_lib(interp, CONST(2)->u.string, CONST(3)->u.key);
return (opcode_t *)cur_opcode + 4;}
@@ -17976,6 +18078,7 @@
opcode_t *
Parrot_dlfunc_p_p_s_s(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 1251 "src/ops/core.ops"
char * const name = Parrot_str_to_cstring(interp, (SREG(3)));
void *dl_handle = NULL;
void *ptr = NULL;
@@ -18010,6 +18113,7 @@
opcode_t *
Parrot_dlfunc_p_p_sc_s(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 1251 "src/ops/core.ops"
char * const name = Parrot_str_to_cstring(interp, (CONST(3)->u.string));
void *dl_handle = NULL;
void *ptr = NULL;
@@ -18044,6 +18148,7 @@
opcode_t *
Parrot_dlfunc_p_p_s_sc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 1251 "src/ops/core.ops"
char * const name = Parrot_str_to_cstring(interp, (SREG(3)));
void *dl_handle = NULL;
void *ptr = NULL;
@@ -18078,6 +18183,7 @@
opcode_t *
Parrot_dlfunc_p_p_sc_sc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 1251 "src/ops/core.ops"
char * const name = Parrot_str_to_cstring(interp, (CONST(3)->u.string));
void *dl_handle = NULL;
void *ptr = NULL;
@@ -18112,6 +18218,7 @@
opcode_t *
Parrot_dlvar_p_p_s(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 1282 "src/ops/core.ops"
char * const name = Parrot_str_to_cstring(interp, (SREG(3)));
void * p = NULL;
@@ -18138,6 +18245,7 @@
opcode_t *
Parrot_dlvar_p_p_sc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 1282 "src/ops/core.ops"
char * const name = Parrot_str_to_cstring(interp, (CONST(3)->u.string));
void * p = NULL;
@@ -18164,6 +18272,7 @@
opcode_t *
Parrot_compreg_s_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 1305 "src/ops/core.ops"
PMC * const compreg_hash = VTABLE_get_pmc_keyed_int(interp,
interp->iglobals, IGLOBALS_COMPREG_HASH);
VTABLE_set_pmc_keyed_str(interp, compreg_hash, SREG(1), PREG(2));
@@ -18173,6 +18282,7 @@
opcode_t *
Parrot_compreg_sc_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 1305 "src/ops/core.ops"
PMC * const compreg_hash = VTABLE_get_pmc_keyed_int(interp,
interp->iglobals, IGLOBALS_COMPREG_HASH);
VTABLE_set_pmc_keyed_str(interp, compreg_hash, CONST(1)->u.string, PREG(2));
@@ -18182,6 +18292,7 @@
opcode_t *
Parrot_compreg_p_s(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 1311 "src/ops/core.ops"
PMC * const compreg_hash = VTABLE_get_pmc_keyed_int(interp,
interp->iglobals, IGLOBALS_COMPREG_HASH);
PREG(1) = VTABLE_get_pmc_keyed_str(interp, compreg_hash, SREG(2));
@@ -18191,6 +18302,7 @@
opcode_t *
Parrot_compreg_p_sc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 1311 "src/ops/core.ops"
PMC * const compreg_hash = VTABLE_get_pmc_keyed_int(interp,
interp->iglobals, IGLOBALS_COMPREG_HASH);
PREG(1) = VTABLE_get_pmc_keyed_str(interp, compreg_hash, CONST(2)->u.string);
@@ -18200,6 +18312,7 @@
opcode_t *
Parrot_new_callback_p_p_p_s(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 1317 "src/ops/core.ops"
PREG(1) = Parrot_make_cb(interp, PREG(2), PREG(3), SREG(4));
return (opcode_t *)cur_opcode + 5;}
@@ -18207,6 +18320,7 @@
opcode_t *
Parrot_new_callback_p_p_p_sc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 1317 "src/ops/core.ops"
PREG(1) = Parrot_make_cb(interp, PREG(2), PREG(3), CONST(4)->u.string);
return (opcode_t *)cur_opcode + 5;}
@@ -18214,6 +18328,7 @@
opcode_t *
Parrot_annotations_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 1344 "src/ops/core.ops"
if (interp->code->annotations) {
const opcode_t cur_pos = (cur_opcode + 2) - interp->code->base.data;
PREG(1) = PackFile_Annotations_lookup(interp, interp->code->annotations,
@@ -18228,6 +18343,7 @@
opcode_t *
Parrot_annotations_p_s(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 1362 "src/ops/core.ops"
if (interp->code->annotations) {
const opcode_t cur_pos = (cur_opcode + 3) - interp->code->base.data;
PREG(1) = PackFile_Annotations_lookup(interp, interp->code->annotations,
@@ -18242,6 +18358,7 @@
opcode_t *
Parrot_annotations_p_sc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 1362 "src/ops/core.ops"
if (interp->code->annotations) {
const opcode_t cur_pos = (cur_opcode + 3) - interp->code->base.data;
PREG(1) = PackFile_Annotations_lookup(interp, interp->code->annotations,
@@ -18256,6 +18373,7 @@
opcode_t *
Parrot_band_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 62 "src/ops/bit.ops"
IREG(1) &= IREG(2);
return (opcode_t *)cur_opcode + 3;}
@@ -18263,6 +18381,7 @@
opcode_t *
Parrot_band_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 62 "src/ops/bit.ops"
IREG(1) &= cur_opcode[2];
return (opcode_t *)cur_opcode + 3;}
@@ -18270,6 +18389,7 @@
opcode_t *
Parrot_band_p_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 66 "src/ops/bit.ops"
const INTVAL a = VTABLE_get_integer(interp, PREG(1));
const INTVAL b = a & IREG(2);
VTABLE_set_integer_native(interp, PREG(1), b);
@@ -18279,6 +18399,7 @@
opcode_t *
Parrot_band_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 66 "src/ops/bit.ops"
const INTVAL a = VTABLE_get_integer(interp, PREG(1));
const INTVAL b = a & cur_opcode[2];
VTABLE_set_integer_native(interp, PREG(1), b);
@@ -18288,6 +18409,7 @@
opcode_t *
Parrot_band_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 72 "src/ops/bit.ops"
const INTVAL a = VTABLE_get_integer(interp, PREG(1));
const INTVAL b = VTABLE_get_integer(interp, PREG(2));
VTABLE_set_integer_native(interp, PREG(1), a & b);
@@ -18297,6 +18419,7 @@
opcode_t *
Parrot_band_i_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 78 "src/ops/bit.ops"
IREG(1) = IREG(2) & IREG(3);
return (opcode_t *)cur_opcode + 4;}
@@ -18304,6 +18427,7 @@
opcode_t *
Parrot_band_i_ic_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 78 "src/ops/bit.ops"
IREG(1) = cur_opcode[2] & IREG(3);
return (opcode_t *)cur_opcode + 4;}
@@ -18311,6 +18435,7 @@
opcode_t *
Parrot_band_i_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 78 "src/ops/bit.ops"
IREG(1) = IREG(2) & cur_opcode[3];
return (opcode_t *)cur_opcode + 4;}
@@ -18318,6 +18443,7 @@
opcode_t *
Parrot_band_p_p_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 82 "src/ops/bit.ops"
const INTVAL a = VTABLE_get_integer(interp, PREG(2));
VTABLE_set_integer_native(interp, PREG(1), a & IREG(3));
@@ -18326,6 +18452,7 @@
opcode_t *
Parrot_band_p_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 82 "src/ops/bit.ops"
const INTVAL a = VTABLE_get_integer(interp, PREG(2));
VTABLE_set_integer_native(interp, PREG(1), a & cur_opcode[3]);
@@ -18334,6 +18461,7 @@
opcode_t *
Parrot_band_p_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 87 "src/ops/bit.ops"
const INTVAL a = VTABLE_get_integer(interp, PREG(2));
const INTVAL b = VTABLE_get_integer(interp, PREG(3));
VTABLE_set_integer_native(interp, PREG(1), a & b);
@@ -18343,6 +18471,7 @@
opcode_t *
Parrot_bands_p_s(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 111 "src/ops/bit.ops"
STRING * const a = VTABLE_get_string(interp, PREG(1));
STRING * const b = Parrot_str_bitwise_and(interp, a, SREG(2));
VTABLE_set_string_native(interp, PREG(1), b);
@@ -18352,6 +18481,7 @@
opcode_t *
Parrot_bands_p_sc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 111 "src/ops/bit.ops"
STRING * const a = VTABLE_get_string(interp, PREG(1));
STRING * const b = Parrot_str_bitwise_and(interp, a, CONST(2)->u.string);
VTABLE_set_string_native(interp, PREG(1), b);
@@ -18361,6 +18491,7 @@
opcode_t *
Parrot_bands_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 117 "src/ops/bit.ops"
STRING * a = VTABLE_get_string(interp, PREG(1));
STRING * const b = VTABLE_get_string(interp, PREG(2));
a = Parrot_str_bitwise_and(interp, a, b);
@@ -18371,6 +18502,7 @@
opcode_t *
Parrot_bands_s_s_s(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 124 "src/ops/bit.ops"
SREG(1) = Parrot_str_bitwise_and(interp, SREG(2), SREG(3));
return (opcode_t *)cur_opcode + 4;}
@@ -18378,6 +18510,7 @@
opcode_t *
Parrot_bands_s_sc_s(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 124 "src/ops/bit.ops"
SREG(1) = Parrot_str_bitwise_and(interp, CONST(2)->u.string, SREG(3));
return (opcode_t *)cur_opcode + 4;}
@@ -18385,6 +18518,7 @@
opcode_t *
Parrot_bands_s_s_sc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 124 "src/ops/bit.ops"
SREG(1) = Parrot_str_bitwise_and(interp, SREG(2), CONST(3)->u.string);
return (opcode_t *)cur_opcode + 4;}
@@ -18392,6 +18526,7 @@
opcode_t *
Parrot_bands_p_p_s(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 128 "src/ops/bit.ops"
STRING * const a = VTABLE_get_string(interp, PREG(2));
STRING * const b = Parrot_str_bitwise_and(interp, a, SREG(3));
VTABLE_set_string_native(interp, PREG(1), b);
@@ -18401,6 +18536,7 @@
opcode_t *
Parrot_bands_p_p_sc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 128 "src/ops/bit.ops"
STRING * const a = VTABLE_get_string(interp, PREG(2));
STRING * const b = Parrot_str_bitwise_and(interp, a, CONST(3)->u.string);
VTABLE_set_string_native(interp, PREG(1), b);
@@ -18410,6 +18546,7 @@
opcode_t *
Parrot_bands_p_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 134 "src/ops/bit.ops"
STRING * const a = VTABLE_get_string(interp, PREG(2));
STRING * const b = VTABLE_get_string(interp, PREG(3));
STRING * const c = Parrot_str_bitwise_and(interp, a, b);
@@ -18420,6 +18557,7 @@
opcode_t *
Parrot_bnot_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 155 "src/ops/bit.ops"
IREG(1) = ~ IREG(1);
return (opcode_t *)cur_opcode + 2;}
@@ -18427,6 +18565,7 @@
opcode_t *
Parrot_bnot_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 159 "src/ops/bit.ops"
IREG(1) = ~ IREG(2);
return (opcode_t *)cur_opcode + 3;}
@@ -18434,6 +18573,7 @@
opcode_t *
Parrot_bnot_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 163 "src/ops/bit.ops"
const INTVAL a = VTABLE_get_integer(interp, PREG(1));
VTABLE_set_integer_native(interp, PREG(1), ~a);
@@ -18442,6 +18582,7 @@
opcode_t *
Parrot_bnot_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 168 "src/ops/bit.ops"
const INTVAL a = VTABLE_get_integer(interp, PREG(2));
PMC * const b = Parrot_pmc_new(interp, VTABLE_type(interp, PREG(2)));
VTABLE_set_integer_native(interp, b, ~a);
@@ -18452,6 +18593,7 @@
opcode_t *
Parrot_bnots_s_s(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 183 "src/ops/bit.ops"
SREG(1) = Parrot_str_bitwise_not(interp, SREG(2));
return (opcode_t *)cur_opcode + 3;}
@@ -18459,6 +18601,7 @@
opcode_t *
Parrot_bnots_s_sc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 183 "src/ops/bit.ops"
SREG(1) = Parrot_str_bitwise_not(interp, CONST(2)->u.string);
return (opcode_t *)cur_opcode + 3;}
@@ -18466,6 +18609,7 @@
opcode_t *
Parrot_bnots_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 187 "src/ops/bit.ops"
STRING * const a = VTABLE_get_string(interp, PREG(1));
STRING * const b = Parrot_str_bitwise_not(interp, a);
VTABLE_set_string_native(interp, PREG(1), b);
@@ -18475,6 +18619,7 @@
opcode_t *
Parrot_bnots_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 193 "src/ops/bit.ops"
STRING * const a = VTABLE_get_string(interp, PREG(2));
STRING * const b = Parrot_str_bitwise_not(interp, a);
VTABLE_set_string_native(interp, PREG(1), b);
@@ -18484,6 +18629,7 @@
opcode_t *
Parrot_bor_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 221 "src/ops/bit.ops"
IREG(1) |= IREG(2);
return (opcode_t *)cur_opcode + 3;}
@@ -18491,6 +18637,7 @@
opcode_t *
Parrot_bor_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 221 "src/ops/bit.ops"
IREG(1) |= cur_opcode[2];
return (opcode_t *)cur_opcode + 3;}
@@ -18498,6 +18645,7 @@
opcode_t *
Parrot_bor_p_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 225 "src/ops/bit.ops"
const INTVAL a = VTABLE_get_integer(interp, PREG(1));
VTABLE_set_integer_native(interp, PREG(1), a | IREG(2));
@@ -18506,6 +18654,7 @@
opcode_t *
Parrot_bor_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 225 "src/ops/bit.ops"
const INTVAL a = VTABLE_get_integer(interp, PREG(1));
VTABLE_set_integer_native(interp, PREG(1), a | cur_opcode[2]);
@@ -18514,6 +18663,7 @@
opcode_t *
Parrot_bor_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 230 "src/ops/bit.ops"
const INTVAL a = VTABLE_get_integer(interp, PREG(1));
const INTVAL b = VTABLE_get_integer(interp, PREG(2));
VTABLE_set_integer_native(interp, PREG(1), a | b);
@@ -18523,6 +18673,7 @@
opcode_t *
Parrot_bor_i_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 236 "src/ops/bit.ops"
IREG(1) = IREG(2) | IREG(3);
return (opcode_t *)cur_opcode + 4;}
@@ -18530,6 +18681,7 @@
opcode_t *
Parrot_bor_i_ic_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 236 "src/ops/bit.ops"
IREG(1) = cur_opcode[2] | IREG(3);
return (opcode_t *)cur_opcode + 4;}
@@ -18537,6 +18689,7 @@
opcode_t *
Parrot_bor_i_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 236 "src/ops/bit.ops"
IREG(1) = IREG(2) | cur_opcode[3];
return (opcode_t *)cur_opcode + 4;}
@@ -18544,6 +18697,7 @@
opcode_t *
Parrot_bor_p_p_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 240 "src/ops/bit.ops"
const INTVAL a = VTABLE_get_integer(interp, PREG(2));
VTABLE_set_integer_native(interp, PREG(1), a | IREG(3));
@@ -18552,6 +18706,7 @@
opcode_t *
Parrot_bor_p_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 240 "src/ops/bit.ops"
const INTVAL a = VTABLE_get_integer(interp, PREG(2));
VTABLE_set_integer_native(interp, PREG(1), a | cur_opcode[3]);
@@ -18560,6 +18715,7 @@
opcode_t *
Parrot_bor_p_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 245 "src/ops/bit.ops"
const INTVAL a = VTABLE_get_integer(interp, PREG(2));
const INTVAL b = VTABLE_get_integer(interp, PREG(3));
VTABLE_set_integer_native(interp, PREG(1), a | b);
@@ -18569,6 +18725,7 @@
opcode_t *
Parrot_bors_p_s(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 269 "src/ops/bit.ops"
STRING * const a = VTABLE_get_string(interp, PREG(1));
STRING * const b = Parrot_str_bitwise_or(interp, a, SREG(2));
VTABLE_set_string_native(interp, PREG(1), b);
@@ -18578,6 +18735,7 @@
opcode_t *
Parrot_bors_p_sc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 269 "src/ops/bit.ops"
STRING * const a = VTABLE_get_string(interp, PREG(1));
STRING * const b = Parrot_str_bitwise_or(interp, a, CONST(2)->u.string);
VTABLE_set_string_native(interp, PREG(1), b);
@@ -18587,6 +18745,7 @@
opcode_t *
Parrot_bors_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 275 "src/ops/bit.ops"
STRING * const a = VTABLE_get_string(interp, PREG(1));
STRING * const b = VTABLE_get_string(interp, PREG(2));
STRING * const c = Parrot_str_bitwise_or(interp, a, b);
@@ -18597,6 +18756,7 @@
opcode_t *
Parrot_bors_s_s_s(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 282 "src/ops/bit.ops"
SREG(1) = Parrot_str_bitwise_or(interp, SREG(2), SREG(3));
return (opcode_t *)cur_opcode + 4;}
@@ -18604,6 +18764,7 @@
opcode_t *
Parrot_bors_s_sc_s(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 282 "src/ops/bit.ops"
SREG(1) = Parrot_str_bitwise_or(interp, CONST(2)->u.string, SREG(3));
return (opcode_t *)cur_opcode + 4;}
@@ -18611,6 +18772,7 @@
opcode_t *
Parrot_bors_s_s_sc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 282 "src/ops/bit.ops"
SREG(1) = Parrot_str_bitwise_or(interp, SREG(2), CONST(3)->u.string);
return (opcode_t *)cur_opcode + 4;}
@@ -18618,6 +18780,7 @@
opcode_t *
Parrot_bors_p_p_s(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 286 "src/ops/bit.ops"
STRING * const b = VTABLE_get_string(interp, PREG(2));
STRING * const c = Parrot_str_bitwise_or(interp, b, SREG(3));
VTABLE_set_string_native(interp, PREG(1), c);
@@ -18627,6 +18790,7 @@
opcode_t *
Parrot_bors_p_p_sc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 286 "src/ops/bit.ops"
STRING * const b = VTABLE_get_string(interp, PREG(2));
STRING * const c = Parrot_str_bitwise_or(interp, b, CONST(3)->u.string);
VTABLE_set_string_native(interp, PREG(1), c);
@@ -18636,6 +18800,7 @@
opcode_t *
Parrot_bors_p_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 292 "src/ops/bit.ops"
STRING * const a = VTABLE_get_string(interp, PREG(2));
STRING * const b = VTABLE_get_string(interp, PREG(3));
STRING * const c = Parrot_str_bitwise_or(interp, a, b);
@@ -18646,6 +18811,7 @@
opcode_t *
Parrot_shl_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 319 "src/ops/bit.ops"
IREG(1) = bit_shift_left(IREG(1), IREG(2));
return (opcode_t *)cur_opcode + 3;}
@@ -18653,6 +18819,7 @@
opcode_t *
Parrot_shl_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 319 "src/ops/bit.ops"
IREG(1) = bit_shift_left(IREG(1), cur_opcode[2]);
return (opcode_t *)cur_opcode + 3;}
@@ -18660,6 +18827,7 @@
opcode_t *
Parrot_shl_p_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 323 "src/ops/bit.ops"
const INTVAL a = VTABLE_get_integer(interp, PREG(1));
const INTVAL b = bit_shift_left(a, IREG(2));
VTABLE_set_integer_native(interp, PREG(1), b);
@@ -18669,6 +18837,7 @@
opcode_t *
Parrot_shl_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 323 "src/ops/bit.ops"
const INTVAL a = VTABLE_get_integer(interp, PREG(1));
const INTVAL b = bit_shift_left(a, cur_opcode[2]);
VTABLE_set_integer_native(interp, PREG(1), b);
@@ -18678,6 +18847,7 @@
opcode_t *
Parrot_shl_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 329 "src/ops/bit.ops"
const INTVAL a = VTABLE_get_integer(interp, PREG(1));
const INTVAL b = VTABLE_get_integer(interp, PREG(2));
const INTVAL c = bit_shift_left(a, b);
@@ -18688,6 +18858,7 @@
opcode_t *
Parrot_shl_i_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 336 "src/ops/bit.ops"
IREG(1) = bit_shift_left(IREG(2), IREG(3));
return (opcode_t *)cur_opcode + 4;}
@@ -18695,6 +18866,7 @@
opcode_t *
Parrot_shl_i_ic_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 336 "src/ops/bit.ops"
IREG(1) = bit_shift_left(cur_opcode[2], IREG(3));
return (opcode_t *)cur_opcode + 4;}
@@ -18702,6 +18874,7 @@
opcode_t *
Parrot_shl_i_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 336 "src/ops/bit.ops"
IREG(1) = bit_shift_left(IREG(2), cur_opcode[3]);
return (opcode_t *)cur_opcode + 4;}
@@ -18709,6 +18882,7 @@
opcode_t *
Parrot_shl_p_p_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 340 "src/ops/bit.ops"
const INTVAL a = VTABLE_get_integer(interp, PREG(2));
const INTVAL b = bit_shift_left(a, IREG(3));
VTABLE_set_integer_native(interp, PREG(1), b);
@@ -18718,6 +18892,7 @@
opcode_t *
Parrot_shl_p_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 340 "src/ops/bit.ops"
const INTVAL a = VTABLE_get_integer(interp, PREG(2));
const INTVAL b = bit_shift_left(a, cur_opcode[3]);
VTABLE_set_integer_native(interp, PREG(1), b);
@@ -18727,6 +18902,7 @@
opcode_t *
Parrot_shl_p_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 346 "src/ops/bit.ops"
const INTVAL a = VTABLE_get_integer(interp, PREG(2));
const INTVAL b = VTABLE_get_integer(interp, PREG(3));
const INTVAL c = bit_shift_left(a, b);
@@ -18737,6 +18913,7 @@
opcode_t *
Parrot_shr_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 373 "src/ops/bit.ops"
const INTVAL signed_shift = -IREG(2);
IREG(1) = bit_shift_left(IREG(1), signed_shift);
@@ -18745,6 +18922,7 @@
opcode_t *
Parrot_shr_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 373 "src/ops/bit.ops"
const INTVAL signed_shift = -cur_opcode[2];
IREG(1) = bit_shift_left(IREG(1), signed_shift);
@@ -18753,6 +18931,7 @@
opcode_t *
Parrot_shr_p_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 378 "src/ops/bit.ops"
const INTVAL a = VTABLE_get_integer(interp, PREG(1));
const INTVAL b = bit_shift_left(a, -IREG(2));
VTABLE_set_integer_native(interp, PREG(1), b);
@@ -18762,6 +18941,7 @@
opcode_t *
Parrot_shr_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 378 "src/ops/bit.ops"
const INTVAL a = VTABLE_get_integer(interp, PREG(1));
const INTVAL b = bit_shift_left(a, -cur_opcode[2]);
VTABLE_set_integer_native(interp, PREG(1), b);
@@ -18771,6 +18951,7 @@
opcode_t *
Parrot_shr_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 384 "src/ops/bit.ops"
const INTVAL a = VTABLE_get_integer(interp, PREG(1));
const INTVAL b = VTABLE_get_integer(interp, PREG(2));
const INTVAL c = bit_shift_left(a, -b);
@@ -18781,6 +18962,7 @@
opcode_t *
Parrot_shr_i_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 391 "src/ops/bit.ops"
const INTVAL signed_shift = -IREG(3);
IREG(1) = bit_shift_left(IREG(2), signed_shift);
@@ -18789,6 +18971,7 @@
opcode_t *
Parrot_shr_i_ic_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 391 "src/ops/bit.ops"
const INTVAL signed_shift = -IREG(3);
IREG(1) = bit_shift_left(cur_opcode[2], signed_shift);
@@ -18797,6 +18980,7 @@
opcode_t *
Parrot_shr_i_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 391 "src/ops/bit.ops"
const INTVAL signed_shift = -cur_opcode[3];
IREG(1) = bit_shift_left(IREG(2), signed_shift);
@@ -18805,6 +18989,7 @@
opcode_t *
Parrot_shr_p_p_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 396 "src/ops/bit.ops"
const INTVAL a = VTABLE_get_integer(interp, PREG(2));
const INTVAL c = bit_shift_left(a, -IREG(3));
VTABLE_set_integer_native(interp, PREG(1), c);
@@ -18814,6 +18999,7 @@
opcode_t *
Parrot_shr_p_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 396 "src/ops/bit.ops"
const INTVAL a = VTABLE_get_integer(interp, PREG(2));
const INTVAL c = bit_shift_left(a, -cur_opcode[3]);
VTABLE_set_integer_native(interp, PREG(1), c);
@@ -18823,6 +19009,7 @@
opcode_t *
Parrot_shr_p_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 402 "src/ops/bit.ops"
const INTVAL a = VTABLE_get_integer(interp, PREG(2));
const INTVAL b = VTABLE_get_integer(interp, PREG(3));
const INTVAL c = bit_shift_left(a, -b);
@@ -18833,6 +19020,7 @@
opcode_t *
Parrot_lsr_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 429 "src/ops/bit.ops"
const UINTVAL a = (UINTVAL)IREG(1);
const UINTVAL b = a >> IREG(2);
IREG(1) = (INTVAL)b;
@@ -18842,6 +19030,7 @@
opcode_t *
Parrot_lsr_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 429 "src/ops/bit.ops"
const UINTVAL a = (UINTVAL)IREG(1);
const UINTVAL b = a >> cur_opcode[2];
IREG(1) = (INTVAL)b;
@@ -18851,6 +19040,7 @@
opcode_t *
Parrot_lsr_p_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 435 "src/ops/bit.ops"
const UINTVAL a = (UINTVAL)VTABLE_get_integer(interp, PREG(1));
const UINTVAL b = a >> IREG(2);
VTABLE_set_integer_native(interp, PREG(1), (INTVAL)b);
@@ -18860,6 +19050,7 @@
opcode_t *
Parrot_lsr_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 435 "src/ops/bit.ops"
const UINTVAL a = (UINTVAL)VTABLE_get_integer(interp, PREG(1));
const UINTVAL b = a >> cur_opcode[2];
VTABLE_set_integer_native(interp, PREG(1), (INTVAL)b);
@@ -18869,6 +19060,7 @@
opcode_t *
Parrot_lsr_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 441 "src/ops/bit.ops"
const UINTVAL a = (UINTVAL)VTABLE_get_integer(interp, PREG(1));
const UINTVAL b = (UINTVAL)VTABLE_get_integer(interp, PREG(2));
const UINTVAL c = a >> b;
@@ -18879,6 +19071,7 @@
opcode_t *
Parrot_lsr_i_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 448 "src/ops/bit.ops"
IREG(1) = (INTVAL)((UINTVAL)IREG(2) >> IREG(3));
return (opcode_t *)cur_opcode + 4;}
@@ -18886,6 +19079,7 @@
opcode_t *
Parrot_lsr_i_ic_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 448 "src/ops/bit.ops"
IREG(1) = (INTVAL)((UINTVAL)cur_opcode[2] >> IREG(3));
return (opcode_t *)cur_opcode + 4;}
@@ -18893,6 +19087,7 @@
opcode_t *
Parrot_lsr_i_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 448 "src/ops/bit.ops"
IREG(1) = (INTVAL)((UINTVAL)IREG(2) >> cur_opcode[3]);
return (opcode_t *)cur_opcode + 4;}
@@ -18900,6 +19095,7 @@
opcode_t *
Parrot_lsr_p_p_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 452 "src/ops/bit.ops"
const UINTVAL a = (UINTVAL)VTABLE_get_integer(interp, PREG(2));
const UINTVAL b = (UINTVAL)IREG(3);
const UINTVAL c = a >> b;
@@ -18910,6 +19106,7 @@
opcode_t *
Parrot_lsr_p_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 452 "src/ops/bit.ops"
const UINTVAL a = (UINTVAL)VTABLE_get_integer(interp, PREG(2));
const UINTVAL b = (UINTVAL)cur_opcode[3];
const UINTVAL c = a >> b;
@@ -18920,6 +19117,7 @@
opcode_t *
Parrot_lsr_p_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 459 "src/ops/bit.ops"
const UINTVAL a = (UINTVAL)VTABLE_get_integer(interp, PREG(2));
const UINTVAL b = (UINTVAL)VTABLE_get_integer(interp, PREG(3));
const UINTVAL c = a >> b;
@@ -18930,6 +19128,7 @@
opcode_t *
Parrot_rot_i_i_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 475 "src/ops/bit.ops"
const INTVAL r = IREG(2);
INTVAL s = IREG(3);
const INTVAL w = cur_opcode[4];
@@ -18947,6 +19146,7 @@
opcode_t *
Parrot_rot_i_ic_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 475 "src/ops/bit.ops"
const INTVAL r = cur_opcode[2];
INTVAL s = IREG(3);
const INTVAL w = cur_opcode[4];
@@ -18964,6 +19164,7 @@
opcode_t *
Parrot_rot_i_i_ic_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 475 "src/ops/bit.ops"
const INTVAL r = IREG(2);
INTVAL s = cur_opcode[3];
const INTVAL w = cur_opcode[4];
@@ -18981,6 +19182,7 @@
opcode_t *
Parrot_bxor_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 511 "src/ops/bit.ops"
IREG(1) ^= IREG(2);
return (opcode_t *)cur_opcode + 3;}
@@ -18988,6 +19190,7 @@
opcode_t *
Parrot_bxor_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 511 "src/ops/bit.ops"
IREG(1) ^= cur_opcode[2];
return (opcode_t *)cur_opcode + 3;}
@@ -18995,6 +19198,7 @@
opcode_t *
Parrot_bxor_p_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 515 "src/ops/bit.ops"
const UINTVAL a = (UINTVAL)VTABLE_get_integer(interp, PREG(1));
const UINTVAL b = a ^ IREG(2);
VTABLE_set_integer_native(interp, PREG(1), (INTVAL)b);
@@ -19004,6 +19208,7 @@
opcode_t *
Parrot_bxor_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 515 "src/ops/bit.ops"
const UINTVAL a = (UINTVAL)VTABLE_get_integer(interp, PREG(1));
const UINTVAL b = a ^ cur_opcode[2];
VTABLE_set_integer_native(interp, PREG(1), (INTVAL)b);
@@ -19013,6 +19218,7 @@
opcode_t *
Parrot_bxor_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 521 "src/ops/bit.ops"
const UINTVAL a = (UINTVAL)VTABLE_get_integer(interp, PREG(1));
const UINTVAL b = (UINTVAL)VTABLE_get_integer(interp, PREG(2));
const UINTVAL c = a ^ b;
@@ -19023,6 +19229,7 @@
opcode_t *
Parrot_bxor_i_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 528 "src/ops/bit.ops"
IREG(1) = IREG(2) ^ IREG(3);
return (opcode_t *)cur_opcode + 4;}
@@ -19030,6 +19237,7 @@
opcode_t *
Parrot_bxor_i_ic_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 528 "src/ops/bit.ops"
IREG(1) = cur_opcode[2] ^ IREG(3);
return (opcode_t *)cur_opcode + 4;}
@@ -19037,6 +19245,7 @@
opcode_t *
Parrot_bxor_i_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 528 "src/ops/bit.ops"
IREG(1) = IREG(2) ^ cur_opcode[3];
return (opcode_t *)cur_opcode + 4;}
@@ -19044,6 +19253,7 @@
opcode_t *
Parrot_bxor_p_p_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 532 "src/ops/bit.ops"
const UINTVAL a = (UINTVAL)VTABLE_get_integer(interp, PREG(2));
const UINTVAL b = a ^ IREG(3);
VTABLE_set_integer_native(interp, PREG(1), (INTVAL)b);
@@ -19053,6 +19263,7 @@
opcode_t *
Parrot_bxor_p_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 532 "src/ops/bit.ops"
const UINTVAL a = (UINTVAL)VTABLE_get_integer(interp, PREG(2));
const UINTVAL b = a ^ cur_opcode[3];
VTABLE_set_integer_native(interp, PREG(1), (INTVAL)b);
@@ -19062,6 +19273,7 @@
opcode_t *
Parrot_bxor_p_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 538 "src/ops/bit.ops"
const UINTVAL a = (UINTVAL)VTABLE_get_integer(interp, PREG(2));
const UINTVAL b = (UINTVAL)VTABLE_get_integer(interp, PREG(3));
const UINTVAL c = a ^ b;
@@ -19072,6 +19284,7 @@
opcode_t *
Parrot_bxors_p_s(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 563 "src/ops/bit.ops"
STRING * const a = VTABLE_get_string(interp, PREG(1));
STRING * const b = Parrot_str_bitwise_xor(interp, a, SREG(2));
VTABLE_set_string_native(interp, PREG(1), b);
@@ -19081,6 +19294,7 @@
opcode_t *
Parrot_bxors_p_sc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 563 "src/ops/bit.ops"
STRING * const a = VTABLE_get_string(interp, PREG(1));
STRING * const b = Parrot_str_bitwise_xor(interp, a, CONST(2)->u.string);
VTABLE_set_string_native(interp, PREG(1), b);
@@ -19090,6 +19304,7 @@
opcode_t *
Parrot_bxors_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 569 "src/ops/bit.ops"
STRING * const a = VTABLE_get_string(interp, PREG(1));
STRING * const b = VTABLE_get_string(interp, PREG(2));
STRING * const c = Parrot_str_bitwise_xor(interp, a, b);
@@ -19100,6 +19315,7 @@
opcode_t *
Parrot_bxors_s_s_s(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 576 "src/ops/bit.ops"
SREG(1) = Parrot_str_bitwise_xor(interp, SREG(2), SREG(3));
return (opcode_t *)cur_opcode + 4;}
@@ -19107,6 +19323,7 @@
opcode_t *
Parrot_bxors_s_sc_s(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 576 "src/ops/bit.ops"
SREG(1) = Parrot_str_bitwise_xor(interp, CONST(2)->u.string, SREG(3));
return (opcode_t *)cur_opcode + 4;}
@@ -19114,6 +19331,7 @@
opcode_t *
Parrot_bxors_s_s_sc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 576 "src/ops/bit.ops"
SREG(1) = Parrot_str_bitwise_xor(interp, SREG(2), CONST(3)->u.string);
return (opcode_t *)cur_opcode + 4;}
@@ -19121,6 +19339,7 @@
opcode_t *
Parrot_bxors_p_p_s(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 580 "src/ops/bit.ops"
STRING * const a = VTABLE_get_string(interp, PREG(2));
STRING * const b = Parrot_str_bitwise_xor(interp, a, SREG(3));
VTABLE_set_string_native(interp, PREG(1), b);
@@ -19130,6 +19349,7 @@
opcode_t *
Parrot_bxors_p_p_sc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 580 "src/ops/bit.ops"
STRING * const a = VTABLE_get_string(interp, PREG(2));
STRING * const b = Parrot_str_bitwise_xor(interp, a, CONST(3)->u.string);
VTABLE_set_string_native(interp, PREG(1), b);
@@ -19139,6 +19359,7 @@
opcode_t *
Parrot_bxors_p_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 586 "src/ops/bit.ops"
STRING * const a = VTABLE_get_string(interp, PREG(2));
STRING * const b = VTABLE_get_string(interp, PREG(3));
STRING * const c = Parrot_str_bitwise_xor(interp, a, b);
@@ -19149,6 +19370,7 @@
opcode_t *
Parrot_eq_i_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 66 "src/ops/cmp.ops"
if (IREG(1) == IREG(2)) {
return (opcode_t *)cur_opcode + cur_opcode[3];
}
@@ -19158,6 +19380,7 @@
opcode_t *
Parrot_eq_ic_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 66 "src/ops/cmp.ops"
if (cur_opcode[1] == IREG(2)) {
return (opcode_t *)cur_opcode + cur_opcode[3];
}
@@ -19167,6 +19390,7 @@
opcode_t *
Parrot_eq_i_ic_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 66 "src/ops/cmp.ops"
if (IREG(1) == cur_opcode[2]) {
return (opcode_t *)cur_opcode + cur_opcode[3];
}
@@ -19176,6 +19400,7 @@
opcode_t *
Parrot_eq_n_n_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 72 "src/ops/cmp.ops"
if (NREG(1) == NREG(2)) {
return (opcode_t *)cur_opcode + cur_opcode[3];
}
@@ -19185,6 +19410,7 @@
opcode_t *
Parrot_eq_nc_n_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 72 "src/ops/cmp.ops"
if (CONST(1)->u.number == NREG(2)) {
return (opcode_t *)cur_opcode + cur_opcode[3];
}
@@ -19194,6 +19420,7 @@
opcode_t *
Parrot_eq_n_nc_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 72 "src/ops/cmp.ops"
if (NREG(1) == CONST(2)->u.number) {
return (opcode_t *)cur_opcode + cur_opcode[3];
}
@@ -19203,6 +19430,7 @@
opcode_t *
Parrot_eq_s_s_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 78 "src/ops/cmp.ops"
if (Parrot_str_equal(interp, SREG(1), SREG(2))) {
return (opcode_t *)cur_opcode + cur_opcode[3];
}
@@ -19212,6 +19440,7 @@
opcode_t *
Parrot_eq_sc_s_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 78 "src/ops/cmp.ops"
if (Parrot_str_equal(interp, CONST(1)->u.string, SREG(2))) {
return (opcode_t *)cur_opcode + cur_opcode[3];
}
@@ -19221,6 +19450,7 @@
opcode_t *
Parrot_eq_s_sc_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 78 "src/ops/cmp.ops"
if (Parrot_str_equal(interp, SREG(1), CONST(2)->u.string)) {
return (opcode_t *)cur_opcode + cur_opcode[3];
}
@@ -19230,6 +19460,7 @@
opcode_t *
Parrot_eq_p_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 84 "src/ops/cmp.ops"
if (VTABLE_is_equal(interp, PREG(1), PREG(2))) {
return (opcode_t *)cur_opcode + cur_opcode[3];
}
@@ -19239,6 +19470,7 @@
opcode_t *
Parrot_eq_p_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 90 "src/ops/cmp.ops"
PMC * const temp = Parrot_pmc_new_temporary(interp, enum_class_Integer);
VTABLE_set_integer_native(interp, temp, IREG(2));
@@ -19254,6 +19486,7 @@
opcode_t *
Parrot_eq_p_ic_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 90 "src/ops/cmp.ops"
PMC * const temp = Parrot_pmc_new_temporary(interp, enum_class_Integer);
VTABLE_set_integer_native(interp, temp, cur_opcode[2]);
@@ -19269,6 +19502,7 @@
opcode_t *
Parrot_eq_p_n_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 102 "src/ops/cmp.ops"
/*
* the get_number and get_string should probably
* be also replaced with code like above, as
@@ -19284,6 +19518,7 @@
opcode_t *
Parrot_eq_p_nc_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 102 "src/ops/cmp.ops"
/*
* the get_number and get_string should probably
* be also replaced with code like above, as
@@ -19299,6 +19534,7 @@
opcode_t *
Parrot_eq_p_s_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 114 "src/ops/cmp.ops"
if (Parrot_str_equal(interp, VTABLE_get_string(interp, PREG(1)), SREG(2))) {
return (opcode_t *)cur_opcode + cur_opcode[3];
}
@@ -19308,6 +19544,7 @@
opcode_t *
Parrot_eq_p_sc_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 114 "src/ops/cmp.ops"
if (Parrot_str_equal(interp, VTABLE_get_string(interp, PREG(1)), CONST(2)->u.string)) {
return (opcode_t *)cur_opcode + cur_opcode[3];
}
@@ -19317,6 +19554,7 @@
opcode_t *
Parrot_eq_str_p_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 120 "src/ops/cmp.ops"
if (VTABLE_is_equal_string(interp, PREG(1), PREG(2))) {
return (opcode_t *)cur_opcode + cur_opcode[3];
}
@@ -19326,6 +19564,7 @@
opcode_t *
Parrot_eq_num_p_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 126 "src/ops/cmp.ops"
if (VTABLE_is_equal_num(interp, PREG(1), PREG(2))) {
return (opcode_t *)cur_opcode + cur_opcode[3];
}
@@ -19335,6 +19574,7 @@
opcode_t *
Parrot_eq_addr_s_s_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 132 "src/ops/cmp.ops"
if (SREG(1) == SREG(2)) {
return (opcode_t *)cur_opcode + cur_opcode[3];
}
@@ -19344,6 +19584,7 @@
opcode_t *
Parrot_eq_addr_sc_s_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 132 "src/ops/cmp.ops"
if (CONST(1)->u.string == SREG(2)) {
return (opcode_t *)cur_opcode + cur_opcode[3];
}
@@ -19353,6 +19594,7 @@
opcode_t *
Parrot_eq_addr_s_sc_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 132 "src/ops/cmp.ops"
if (SREG(1) == CONST(2)->u.string) {
return (opcode_t *)cur_opcode + cur_opcode[3];
}
@@ -19362,6 +19604,7 @@
opcode_t *
Parrot_eq_addr_sc_sc_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 132 "src/ops/cmp.ops"
if (CONST(1)->u.string == CONST(2)->u.string) {
return (opcode_t *)cur_opcode + cur_opcode[3];
}
@@ -19371,6 +19614,7 @@
opcode_t *
Parrot_eq_addr_p_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 138 "src/ops/cmp.ops"
if (PREG(1) == PREG(2)) {
return (opcode_t *)cur_opcode + cur_opcode[3];
}
@@ -19380,6 +19624,7 @@
opcode_t *
Parrot_ne_i_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 172 "src/ops/cmp.ops"
if (IREG(1) != IREG(2)) {
return (opcode_t *)cur_opcode + cur_opcode[3];
}
@@ -19389,6 +19634,7 @@
opcode_t *
Parrot_ne_ic_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 172 "src/ops/cmp.ops"
if (cur_opcode[1] != IREG(2)) {
return (opcode_t *)cur_opcode + cur_opcode[3];
}
@@ -19398,6 +19644,7 @@
opcode_t *
Parrot_ne_i_ic_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 172 "src/ops/cmp.ops"
if (IREG(1) != cur_opcode[2]) {
return (opcode_t *)cur_opcode + cur_opcode[3];
}
@@ -19407,6 +19654,7 @@
opcode_t *
Parrot_ne_n_n_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 178 "src/ops/cmp.ops"
if (NREG(1) != NREG(2)) {
return (opcode_t *)cur_opcode + cur_opcode[3];
}
@@ -19416,6 +19664,7 @@
opcode_t *
Parrot_ne_nc_n_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 178 "src/ops/cmp.ops"
if (CONST(1)->u.number != NREG(2)) {
return (opcode_t *)cur_opcode + cur_opcode[3];
}
@@ -19425,6 +19674,7 @@
opcode_t *
Parrot_ne_n_nc_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 178 "src/ops/cmp.ops"
if (NREG(1) != CONST(2)->u.number) {
return (opcode_t *)cur_opcode + cur_opcode[3];
}
@@ -19434,6 +19684,7 @@
opcode_t *
Parrot_ne_s_s_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 184 "src/ops/cmp.ops"
if (Parrot_str_not_equal(interp, SREG(1), SREG(2))) {
return (opcode_t *)cur_opcode + cur_opcode[3];
}
@@ -19443,6 +19694,7 @@
opcode_t *
Parrot_ne_sc_s_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 184 "src/ops/cmp.ops"
if (Parrot_str_not_equal(interp, CONST(1)->u.string, SREG(2))) {
return (opcode_t *)cur_opcode + cur_opcode[3];
}
@@ -19452,6 +19704,7 @@
opcode_t *
Parrot_ne_s_sc_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 184 "src/ops/cmp.ops"
if (Parrot_str_not_equal(interp, SREG(1), CONST(2)->u.string)) {
return (opcode_t *)cur_opcode + cur_opcode[3];
}
@@ -19461,6 +19714,7 @@
opcode_t *
Parrot_ne_p_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 190 "src/ops/cmp.ops"
if (!VTABLE_is_equal(interp, PREG(1), PREG(2))) {
return (opcode_t *)cur_opcode + cur_opcode[3];
}
@@ -19470,6 +19724,7 @@
opcode_t *
Parrot_ne_p_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 196 "src/ops/cmp.ops"
PMC * const temp = Parrot_pmc_new_temporary(interp, enum_class_Integer);
VTABLE_set_integer_native(interp, temp, IREG(2));
@@ -19485,6 +19740,7 @@
opcode_t *
Parrot_ne_p_ic_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 196 "src/ops/cmp.ops"
PMC * const temp = Parrot_pmc_new_temporary(interp, enum_class_Integer);
VTABLE_set_integer_native(interp, temp, cur_opcode[2]);
@@ -19500,6 +19756,7 @@
opcode_t *
Parrot_ne_p_n_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 208 "src/ops/cmp.ops"
if (VTABLE_get_number(interp, PREG(1)) != NREG(2)) {
return (opcode_t *)cur_opcode + cur_opcode[3];
}
@@ -19509,6 +19766,7 @@
opcode_t *
Parrot_ne_p_nc_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 208 "src/ops/cmp.ops"
if (VTABLE_get_number(interp, PREG(1)) != CONST(2)->u.number) {
return (opcode_t *)cur_opcode + cur_opcode[3];
}
@@ -19518,6 +19776,7 @@
opcode_t *
Parrot_ne_p_s_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 214 "src/ops/cmp.ops"
if (Parrot_str_not_equal(interp, VTABLE_get_string(interp, PREG(1)), SREG(2))) {
return (opcode_t *)cur_opcode + cur_opcode[3];
}
@@ -19527,6 +19786,7 @@
opcode_t *
Parrot_ne_p_sc_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 214 "src/ops/cmp.ops"
if (Parrot_str_not_equal(interp, VTABLE_get_string(interp, PREG(1)), CONST(2)->u.string)) {
return (opcode_t *)cur_opcode + cur_opcode[3];
}
@@ -19536,6 +19796,7 @@
opcode_t *
Parrot_ne_str_p_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 220 "src/ops/cmp.ops"
if (VTABLE_cmp_string(interp, PREG(1), PREG(2)) != 0) {
return (opcode_t *)cur_opcode + cur_opcode[3];
}
@@ -19545,6 +19806,7 @@
opcode_t *
Parrot_ne_num_p_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 226 "src/ops/cmp.ops"
if (VTABLE_cmp_num(interp, PREG(1), PREG(2)) != 0) {
return (opcode_t *)cur_opcode + cur_opcode[3];
}
@@ -19554,6 +19816,7 @@
opcode_t *
Parrot_ne_addr_s_s_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 232 "src/ops/cmp.ops"
if (SREG(1) != SREG(2)) {
return (opcode_t *)cur_opcode + cur_opcode[3];
}
@@ -19563,6 +19826,7 @@
opcode_t *
Parrot_ne_addr_sc_s_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 232 "src/ops/cmp.ops"
if (CONST(1)->u.string != SREG(2)) {
return (opcode_t *)cur_opcode + cur_opcode[3];
}
@@ -19572,6 +19836,7 @@
opcode_t *
Parrot_ne_addr_s_sc_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 232 "src/ops/cmp.ops"
if (SREG(1) != CONST(2)->u.string) {
return (opcode_t *)cur_opcode + cur_opcode[3];
}
@@ -19581,6 +19846,7 @@
opcode_t *
Parrot_ne_addr_sc_sc_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 232 "src/ops/cmp.ops"
if (CONST(1)->u.string != CONST(2)->u.string) {
return (opcode_t *)cur_opcode + cur_opcode[3];
}
@@ -19590,6 +19856,7 @@
opcode_t *
Parrot_ne_addr_p_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 238 "src/ops/cmp.ops"
if (PREG(1) != PREG(2)) {
return (opcode_t *)cur_opcode + cur_opcode[3];
}
@@ -19599,6 +19866,7 @@
opcode_t *
Parrot_lt_i_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 268 "src/ops/cmp.ops"
if (IREG(1) < IREG(2)) {
return (opcode_t *)cur_opcode + cur_opcode[3];
}
@@ -19608,6 +19876,7 @@
opcode_t *
Parrot_lt_ic_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 268 "src/ops/cmp.ops"
if (cur_opcode[1] < IREG(2)) {
return (opcode_t *)cur_opcode + cur_opcode[3];
}
@@ -19617,6 +19886,7 @@
opcode_t *
Parrot_lt_i_ic_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 268 "src/ops/cmp.ops"
if (IREG(1) < cur_opcode[2]) {
return (opcode_t *)cur_opcode + cur_opcode[3];
}
@@ -19626,6 +19896,7 @@
opcode_t *
Parrot_lt_n_n_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 274 "src/ops/cmp.ops"
if (NREG(1) < NREG(2)) {
return (opcode_t *)cur_opcode + cur_opcode[3];
}
@@ -19635,6 +19906,7 @@
opcode_t *
Parrot_lt_nc_n_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 274 "src/ops/cmp.ops"
if (CONST(1)->u.number < NREG(2)) {
return (opcode_t *)cur_opcode + cur_opcode[3];
}
@@ -19644,6 +19916,7 @@
opcode_t *
Parrot_lt_n_nc_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 274 "src/ops/cmp.ops"
if (NREG(1) < CONST(2)->u.number) {
return (opcode_t *)cur_opcode + cur_opcode[3];
}
@@ -19653,6 +19926,7 @@
opcode_t *
Parrot_lt_s_s_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 280 "src/ops/cmp.ops"
if (Parrot_str_compare(interp, SREG(1), SREG(2)) < 0) {
return (opcode_t *)cur_opcode + cur_opcode[3];
}
@@ -19662,6 +19936,7 @@
opcode_t *
Parrot_lt_sc_s_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 280 "src/ops/cmp.ops"
if (Parrot_str_compare(interp, CONST(1)->u.string, SREG(2)) < 0) {
return (opcode_t *)cur_opcode + cur_opcode[3];
}
@@ -19671,6 +19946,7 @@
opcode_t *
Parrot_lt_s_sc_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 280 "src/ops/cmp.ops"
if (Parrot_str_compare(interp, SREG(1), CONST(2)->u.string) < 0) {
return (opcode_t *)cur_opcode + cur_opcode[3];
}
@@ -19680,6 +19956,7 @@
opcode_t *
Parrot_lt_p_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 286 "src/ops/cmp.ops"
if (VTABLE_cmp(interp, PREG(1), PREG(2)) < 0) {
return (opcode_t *)cur_opcode + cur_opcode[3];
}
@@ -19689,6 +19966,7 @@
opcode_t *
Parrot_lt_p_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 292 "src/ops/cmp.ops"
PMC * const temp = Parrot_pmc_new_temporary(interp, enum_class_Integer);
VTABLE_set_integer_native(interp, temp, IREG(2));
@@ -19704,6 +19982,7 @@
opcode_t *
Parrot_lt_p_ic_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 292 "src/ops/cmp.ops"
PMC * const temp = Parrot_pmc_new_temporary(interp, enum_class_Integer);
VTABLE_set_integer_native(interp, temp, cur_opcode[2]);
@@ -19719,6 +19998,7 @@
opcode_t *
Parrot_lt_p_n_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 304 "src/ops/cmp.ops"
if (VTABLE_get_number(interp, PREG(1)) < NREG(2)) {
return (opcode_t *)cur_opcode + cur_opcode[3];
}
@@ -19728,6 +20008,7 @@
opcode_t *
Parrot_lt_p_nc_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 304 "src/ops/cmp.ops"
if (VTABLE_get_number(interp, PREG(1)) < CONST(2)->u.number) {
return (opcode_t *)cur_opcode + cur_opcode[3];
}
@@ -19737,6 +20018,7 @@
opcode_t *
Parrot_lt_p_s_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 310 "src/ops/cmp.ops"
if (Parrot_str_compare(interp, VTABLE_get_string(interp, PREG(1)), SREG(2)) < 0) {
return (opcode_t *)cur_opcode + cur_opcode[3];
}
@@ -19746,6 +20028,7 @@
opcode_t *
Parrot_lt_p_sc_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 310 "src/ops/cmp.ops"
if (Parrot_str_compare(interp, VTABLE_get_string(interp, PREG(1)), CONST(2)->u.string) < 0) {
return (opcode_t *)cur_opcode + cur_opcode[3];
}
@@ -19755,6 +20038,7 @@
opcode_t *
Parrot_lt_str_p_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 316 "src/ops/cmp.ops"
if (VTABLE_cmp_string(interp, PREG(1), PREG(2)) < 0) {
return (opcode_t *)cur_opcode + cur_opcode[3];
}
@@ -19764,6 +20048,7 @@
opcode_t *
Parrot_lt_num_p_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 322 "src/ops/cmp.ops"
if (VTABLE_cmp_num(interp, PREG(1), PREG(2)) < 0) {
return (opcode_t *)cur_opcode + cur_opcode[3];
}
@@ -19773,6 +20058,7 @@
opcode_t *
Parrot_le_i_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 352 "src/ops/cmp.ops"
if (IREG(1) <= IREG(2)) {
return (opcode_t *)cur_opcode + cur_opcode[3];
}
@@ -19782,6 +20068,7 @@
opcode_t *
Parrot_le_ic_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 352 "src/ops/cmp.ops"
if (cur_opcode[1] <= IREG(2)) {
return (opcode_t *)cur_opcode + cur_opcode[3];
}
@@ -19791,6 +20078,7 @@
opcode_t *
Parrot_le_i_ic_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 352 "src/ops/cmp.ops"
if (IREG(1) <= cur_opcode[2]) {
return (opcode_t *)cur_opcode + cur_opcode[3];
}
@@ -19800,6 +20088,7 @@
opcode_t *
Parrot_le_n_n_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 358 "src/ops/cmp.ops"
if (NREG(1) <= NREG(2)) {
return (opcode_t *)cur_opcode + cur_opcode[3];
}
@@ -19809,6 +20098,7 @@
opcode_t *
Parrot_le_nc_n_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 358 "src/ops/cmp.ops"
if (CONST(1)->u.number <= NREG(2)) {
return (opcode_t *)cur_opcode + cur_opcode[3];
}
@@ -19818,6 +20108,7 @@
opcode_t *
Parrot_le_n_nc_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 358 "src/ops/cmp.ops"
if (NREG(1) <= CONST(2)->u.number) {
return (opcode_t *)cur_opcode + cur_opcode[3];
}
@@ -19827,6 +20118,7 @@
opcode_t *
Parrot_le_s_s_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 364 "src/ops/cmp.ops"
if (Parrot_str_compare(interp, SREG(1), SREG(2)) <= 0) {
return (opcode_t *)cur_opcode + cur_opcode[3];
}
@@ -19836,6 +20128,7 @@
opcode_t *
Parrot_le_sc_s_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 364 "src/ops/cmp.ops"
if (Parrot_str_compare(interp, CONST(1)->u.string, SREG(2)) <= 0) {
return (opcode_t *)cur_opcode + cur_opcode[3];
}
@@ -19845,6 +20138,7 @@
opcode_t *
Parrot_le_s_sc_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 364 "src/ops/cmp.ops"
if (Parrot_str_compare(interp, SREG(1), CONST(2)->u.string) <= 0) {
return (opcode_t *)cur_opcode + cur_opcode[3];
}
@@ -19854,6 +20148,7 @@
opcode_t *
Parrot_le_p_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 370 "src/ops/cmp.ops"
if (VTABLE_cmp(interp, PREG(1), PREG(2)) <= 0) {
return (opcode_t *)cur_opcode + cur_opcode[3];
}
@@ -19863,6 +20158,7 @@
opcode_t *
Parrot_le_p_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 376 "src/ops/cmp.ops"
PMC * const temp = Parrot_pmc_new_temporary(interp, enum_class_Integer);
VTABLE_set_integer_native(interp, temp, IREG(2));
@@ -19878,6 +20174,7 @@
opcode_t *
Parrot_le_p_ic_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 376 "src/ops/cmp.ops"
PMC * const temp = Parrot_pmc_new_temporary(interp, enum_class_Integer);
VTABLE_set_integer_native(interp, temp, cur_opcode[2]);
@@ -19893,6 +20190,7 @@
opcode_t *
Parrot_le_p_n_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 388 "src/ops/cmp.ops"
if (VTABLE_get_number(interp, PREG(1)) <= NREG(2)) {
return (opcode_t *)cur_opcode + cur_opcode[3];
}
@@ -19902,6 +20200,7 @@
opcode_t *
Parrot_le_p_nc_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 388 "src/ops/cmp.ops"
if (VTABLE_get_number(interp, PREG(1)) <= CONST(2)->u.number) {
return (opcode_t *)cur_opcode + cur_opcode[3];
}
@@ -19911,6 +20210,7 @@
opcode_t *
Parrot_le_p_s_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 394 "src/ops/cmp.ops"
if (Parrot_str_compare(interp, VTABLE_get_string(interp, PREG(1)), SREG(2)) <= 0) {
return (opcode_t *)cur_opcode + cur_opcode[3];
}
@@ -19920,6 +20220,7 @@
opcode_t *
Parrot_le_p_sc_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 394 "src/ops/cmp.ops"
if (Parrot_str_compare(interp, VTABLE_get_string(interp, PREG(1)), CONST(2)->u.string) <= 0) {
return (opcode_t *)cur_opcode + cur_opcode[3];
}
@@ -19929,6 +20230,7 @@
opcode_t *
Parrot_le_str_p_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 400 "src/ops/cmp.ops"
if (VTABLE_cmp_string(interp, PREG(1), PREG(2)) <= 0) {
return (opcode_t *)cur_opcode + cur_opcode[3];
}
@@ -19938,6 +20240,7 @@
opcode_t *
Parrot_le_num_p_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 406 "src/ops/cmp.ops"
if (VTABLE_cmp_num(interp, PREG(1), PREG(2)) <= 0) {
return (opcode_t *)cur_opcode + cur_opcode[3];
}
@@ -19947,6 +20250,7 @@
opcode_t *
Parrot_gt_p_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 430 "src/ops/cmp.ops"
if (VTABLE_cmp(interp, PREG(1), PREG(2)) > 0) {
return (opcode_t *)cur_opcode + cur_opcode[3];
}
@@ -19956,6 +20260,7 @@
opcode_t *
Parrot_gt_p_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 436 "src/ops/cmp.ops"
PMC * const temp = Parrot_pmc_new_temporary(interp, enum_class_Integer);
VTABLE_set_integer_native(interp, temp, IREG(2));
@@ -19971,6 +20276,7 @@
opcode_t *
Parrot_gt_p_ic_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 436 "src/ops/cmp.ops"
PMC * const temp = Parrot_pmc_new_temporary(interp, enum_class_Integer);
VTABLE_set_integer_native(interp, temp, cur_opcode[2]);
@@ -19986,6 +20292,7 @@
opcode_t *
Parrot_gt_p_n_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 448 "src/ops/cmp.ops"
if (VTABLE_get_number(interp, PREG(1)) > NREG(2)) {
return (opcode_t *)cur_opcode + cur_opcode[3];
}
@@ -19995,6 +20302,7 @@
opcode_t *
Parrot_gt_p_nc_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 448 "src/ops/cmp.ops"
if (VTABLE_get_number(interp, PREG(1)) > CONST(2)->u.number) {
return (opcode_t *)cur_opcode + cur_opcode[3];
}
@@ -20004,6 +20312,7 @@
opcode_t *
Parrot_gt_p_s_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 454 "src/ops/cmp.ops"
if (Parrot_str_compare(interp, VTABLE_get_string(interp, PREG(1)), SREG(2)) > 0) {
return (opcode_t *)cur_opcode + cur_opcode[3];
}
@@ -20013,6 +20322,7 @@
opcode_t *
Parrot_gt_p_sc_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 454 "src/ops/cmp.ops"
if (Parrot_str_compare(interp, VTABLE_get_string(interp, PREG(1)), CONST(2)->u.string) > 0) {
return (opcode_t *)cur_opcode + cur_opcode[3];
}
@@ -20022,6 +20332,7 @@
opcode_t *
Parrot_gt_str_p_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 460 "src/ops/cmp.ops"
if (VTABLE_cmp_string(interp, PREG(1), PREG(2)) > 0) {
return (opcode_t *)cur_opcode + cur_opcode[3];
}
@@ -20031,6 +20342,7 @@
opcode_t *
Parrot_gt_num_p_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 466 "src/ops/cmp.ops"
if (VTABLE_cmp_num(interp, PREG(1), PREG(2)) > 0) {
return (opcode_t *)cur_opcode + cur_opcode[3];
}
@@ -20040,6 +20352,7 @@
opcode_t *
Parrot_ge_p_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 490 "src/ops/cmp.ops"
if (VTABLE_cmp(interp, PREG(1), PREG(2)) >= 0) {
return (opcode_t *)cur_opcode + cur_opcode[3];
}
@@ -20049,6 +20362,7 @@
opcode_t *
Parrot_ge_p_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 496 "src/ops/cmp.ops"
PMC * const temp = Parrot_pmc_new_temporary(interp, enum_class_Integer);
VTABLE_set_integer_native(interp, temp, IREG(2));
@@ -20064,6 +20378,7 @@
opcode_t *
Parrot_ge_p_ic_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 496 "src/ops/cmp.ops"
PMC * const temp = Parrot_pmc_new_temporary(interp, enum_class_Integer);
VTABLE_set_integer_native(interp, temp, cur_opcode[2]);
@@ -20079,6 +20394,7 @@
opcode_t *
Parrot_ge_p_n_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 508 "src/ops/cmp.ops"
if (VTABLE_get_number(interp, PREG(1)) >= NREG(2)) {
return (opcode_t *)cur_opcode + cur_opcode[3];
}
@@ -20088,6 +20404,7 @@
opcode_t *
Parrot_ge_p_nc_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 508 "src/ops/cmp.ops"
if (VTABLE_get_number(interp, PREG(1)) >= CONST(2)->u.number) {
return (opcode_t *)cur_opcode + cur_opcode[3];
}
@@ -20097,6 +20414,7 @@
opcode_t *
Parrot_ge_p_s_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 514 "src/ops/cmp.ops"
if (Parrot_str_compare(interp, VTABLE_get_string(interp, PREG(1)), SREG(2)) >= 0) {
return (opcode_t *)cur_opcode + cur_opcode[3];
}
@@ -20106,6 +20424,7 @@
opcode_t *
Parrot_ge_p_sc_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 514 "src/ops/cmp.ops"
if (Parrot_str_compare(interp, VTABLE_get_string(interp, PREG(1)), CONST(2)->u.string) >= 0) {
return (opcode_t *)cur_opcode + cur_opcode[3];
}
@@ -20115,6 +20434,7 @@
opcode_t *
Parrot_ge_str_p_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 520 "src/ops/cmp.ops"
if (VTABLE_cmp_string(interp, PREG(1), PREG(2)) >= 0) {
return (opcode_t *)cur_opcode + cur_opcode[3];
}
@@ -20124,6 +20444,7 @@
opcode_t *
Parrot_ge_num_p_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 526 "src/ops/cmp.ops"
if (VTABLE_cmp_num(interp, PREG(1), PREG(2)) >= 0) {
return (opcode_t *)cur_opcode + cur_opcode[3];
}
@@ -20133,6 +20454,7 @@
opcode_t *
Parrot_if_null_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 544 "src/ops/cmp.ops"
if (PMC_IS_NULL(PREG(1))) {
return (opcode_t *)cur_opcode + cur_opcode[2];
}
@@ -20142,6 +20464,7 @@
opcode_t *
Parrot_if_null_s_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 550 "src/ops/cmp.ops"
if (STRING_IS_NULL(SREG(1))) {
return (opcode_t *)cur_opcode + cur_opcode[2];
}
@@ -20151,6 +20474,7 @@
opcode_t *
Parrot_unless_null_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 568 "src/ops/cmp.ops"
if (!PMC_IS_NULL(PREG(1))) {
return (opcode_t *)cur_opcode + cur_opcode[2];
}
@@ -20160,6 +20484,7 @@
opcode_t *
Parrot_unless_null_s_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 574 "src/ops/cmp.ops"
if (!STRING_IS_NULL(SREG(1))) {
return (opcode_t *)cur_opcode + cur_opcode[2];
}
@@ -20169,6 +20494,7 @@
opcode_t *
Parrot_cmp_i_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 615 "src/ops/cmp.ops"
IREG(1) = IREG(2) < IREG(3) ? -1 :
IREG(2) > IREG(3) ? +1 :
0;
@@ -20178,6 +20504,7 @@
opcode_t *
Parrot_cmp_i_ic_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 615 "src/ops/cmp.ops"
IREG(1) = cur_opcode[2] < IREG(3) ? -1 :
cur_opcode[2] > IREG(3) ? +1 :
0;
@@ -20187,6 +20514,7 @@
opcode_t *
Parrot_cmp_i_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 615 "src/ops/cmp.ops"
IREG(1) = IREG(2) < cur_opcode[3] ? -1 :
IREG(2) > cur_opcode[3] ? +1 :
0;
@@ -20196,6 +20524,7 @@
opcode_t *
Parrot_cmp_i_n_n(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 621 "src/ops/cmp.ops"
IREG(1) = NREG(2) < NREG(3) ? -1 :
NREG(2) > NREG(3) ? +1 :
0;
@@ -20205,6 +20534,7 @@
opcode_t *
Parrot_cmp_i_nc_n(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 621 "src/ops/cmp.ops"
IREG(1) = CONST(2)->u.number < NREG(3) ? -1 :
CONST(2)->u.number > NREG(3) ? +1 :
0;
@@ -20214,6 +20544,7 @@
opcode_t *
Parrot_cmp_i_n_nc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 621 "src/ops/cmp.ops"
IREG(1) = NREG(2) < CONST(3)->u.number ? -1 :
NREG(2) > CONST(3)->u.number ? +1 :
0;
@@ -20223,6 +20554,7 @@
opcode_t *
Parrot_cmp_i_s_s(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 627 "src/ops/cmp.ops"
IREG(1) = Parrot_str_compare(interp, SREG(2), SREG(3));
return (opcode_t *)cur_opcode + 4;}
@@ -20230,6 +20562,7 @@
opcode_t *
Parrot_cmp_i_sc_s(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 627 "src/ops/cmp.ops"
IREG(1) = Parrot_str_compare(interp, CONST(2)->u.string, SREG(3));
return (opcode_t *)cur_opcode + 4;}
@@ -20237,6 +20570,7 @@
opcode_t *
Parrot_cmp_i_s_sc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 627 "src/ops/cmp.ops"
IREG(1) = Parrot_str_compare(interp, SREG(2), CONST(3)->u.string);
return (opcode_t *)cur_opcode + 4;}
@@ -20244,6 +20578,7 @@
opcode_t *
Parrot_cmp_i_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 631 "src/ops/cmp.ops"
IREG(1) = VTABLE_cmp(interp, PREG(2), PREG(3));
return (opcode_t *)cur_opcode + 4;}
@@ -20251,6 +20586,7 @@
opcode_t *
Parrot_cmp_i_p_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 635 "src/ops/cmp.ops"
const INTVAL l = VTABLE_get_integer(interp, PREG(2));
IREG(1) = l < IREG(3) ? -1 :
l > IREG(3) ? +1 :
@@ -20261,6 +20597,7 @@
opcode_t *
Parrot_cmp_i_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 635 "src/ops/cmp.ops"
const INTVAL l = VTABLE_get_integer(interp, PREG(2));
IREG(1) = l < cur_opcode[3] ? -1 :
l > cur_opcode[3] ? +1 :
@@ -20271,6 +20608,7 @@
opcode_t *
Parrot_cmp_i_p_n(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 642 "src/ops/cmp.ops"
const FLOATVAL l = VTABLE_get_number(interp, PREG(2));
IREG(1) = l < NREG(3) ? -1 :
l > NREG(3) ? +1 :
@@ -20281,6 +20619,7 @@
opcode_t *
Parrot_cmp_i_p_nc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 642 "src/ops/cmp.ops"
const FLOATVAL l = VTABLE_get_number(interp, PREG(2));
IREG(1) = l < CONST(3)->u.number ? -1 :
l > CONST(3)->u.number ? +1 :
@@ -20291,6 +20630,7 @@
opcode_t *
Parrot_cmp_i_p_s(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 649 "src/ops/cmp.ops"
STRING* const l = VTABLE_get_string(interp, PREG(2));
IREG(1) = Parrot_str_compare(interp, l, SREG(3));
@@ -20299,6 +20639,7 @@
opcode_t *
Parrot_cmp_i_p_sc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 649 "src/ops/cmp.ops"
STRING* const l = VTABLE_get_string(interp, PREG(2));
IREG(1) = Parrot_str_compare(interp, l, CONST(3)->u.string);
@@ -20307,6 +20648,7 @@
opcode_t *
Parrot_cmp_str_i_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 654 "src/ops/cmp.ops"
IREG(1) = VTABLE_cmp_string(interp, PREG(2), PREG(3));
return (opcode_t *)cur_opcode + 4;}
@@ -20314,6 +20656,7 @@
opcode_t *
Parrot_cmp_num_i_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 658 "src/ops/cmp.ops"
IREG(1) = VTABLE_cmp_num(interp, PREG(2), PREG(3));
return (opcode_t *)cur_opcode + 4;}
@@ -20321,6 +20664,7 @@
opcode_t *
Parrot_cmp_pmc_p_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 670 "src/ops/cmp.ops"
PREG(1) = VTABLE_cmp_pmc(interp, PREG(2), PREG(3));
return (opcode_t *)cur_opcode + 4;}
@@ -20328,6 +20672,7 @@
opcode_t *
Parrot_issame_i_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 707 "src/ops/cmp.ops"
if (PREG(2) == PREG(3))
IREG(1) = 1;
else
@@ -20338,6 +20683,7 @@
opcode_t *
Parrot_issame_i_s_s(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 714 "src/ops/cmp.ops"
IREG(1) = SREG(2) == SREG(3);
return (opcode_t *)cur_opcode + 4;}
@@ -20345,6 +20691,7 @@
opcode_t *
Parrot_issame_i_sc_s(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 714 "src/ops/cmp.ops"
IREG(1) = CONST(2)->u.string == SREG(3);
return (opcode_t *)cur_opcode + 4;}
@@ -20352,6 +20699,7 @@
opcode_t *
Parrot_issame_i_s_sc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 714 "src/ops/cmp.ops"
IREG(1) = SREG(2) == CONST(3)->u.string;
return (opcode_t *)cur_opcode + 4;}
@@ -20359,6 +20707,7 @@
opcode_t *
Parrot_issame_i_sc_sc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 714 "src/ops/cmp.ops"
IREG(1) = CONST(2)->u.string == CONST(3)->u.string;
return (opcode_t *)cur_opcode + 4;}
@@ -20366,6 +20715,7 @@
opcode_t *
Parrot_isntsame_i_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 718 "src/ops/cmp.ops"
if (PREG(2) == PREG(3))
IREG(1) = 0;
else
@@ -20376,6 +20726,7 @@
opcode_t *
Parrot_isntsame_i_s_s(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 725 "src/ops/cmp.ops"
IREG(1) = SREG(2) != SREG(3);
return (opcode_t *)cur_opcode + 4;}
@@ -20383,6 +20734,7 @@
opcode_t *
Parrot_isntsame_i_sc_s(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 725 "src/ops/cmp.ops"
IREG(1) = CONST(2)->u.string != SREG(3);
return (opcode_t *)cur_opcode + 4;}
@@ -20390,6 +20742,7 @@
opcode_t *
Parrot_isntsame_i_s_sc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 725 "src/ops/cmp.ops"
IREG(1) = SREG(2) != CONST(3)->u.string;
return (opcode_t *)cur_opcode + 4;}
@@ -20397,6 +20750,7 @@
opcode_t *
Parrot_isntsame_i_sc_sc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 725 "src/ops/cmp.ops"
IREG(1) = CONST(2)->u.string != CONST(3)->u.string;
return (opcode_t *)cur_opcode + 4;}
@@ -20404,6 +20758,7 @@
opcode_t *
Parrot_istrue_i_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 729 "src/ops/cmp.ops"
IREG(1) = VTABLE_get_bool(interp, PREG(2));
return (opcode_t *)cur_opcode + 3;}
@@ -20411,6 +20766,7 @@
opcode_t *
Parrot_isfalse_i_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 733 "src/ops/cmp.ops"
IREG(1) = !VTABLE_get_bool(interp, PREG(2));
return (opcode_t *)cur_opcode + 3;}
@@ -20418,6 +20774,7 @@
opcode_t *
Parrot_isnull_i_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 737 "src/ops/cmp.ops"
IREG(1) = PMC_IS_NULL(PREG(2));
return (opcode_t *)cur_opcode + 3;}
@@ -20425,6 +20782,7 @@
opcode_t *
Parrot_isnull_i_pc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 737 "src/ops/cmp.ops"
IREG(1) = PMC_IS_NULL(CONST(2)->u.key);
return (opcode_t *)cur_opcode + 3;}
@@ -20432,6 +20790,7 @@
opcode_t *
Parrot_isnull_i_s(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 741 "src/ops/cmp.ops"
IREG(1) = STRING_IS_NULL(SREG(2));
return (opcode_t *)cur_opcode + 3;}
@@ -20439,6 +20798,7 @@
opcode_t *
Parrot_isnull_i_sc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 741 "src/ops/cmp.ops"
IREG(1) = STRING_IS_NULL(CONST(2)->u.string);
return (opcode_t *)cur_opcode + 3;}
@@ -20446,6 +20806,7 @@
opcode_t *
Parrot_isgt_i_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 759 "src/ops/cmp.ops"
IREG(1) = (VTABLE_cmp(interp, PREG(2), PREG(3)) > 0);
return (opcode_t *)cur_opcode + 4;}
@@ -20453,6 +20814,7 @@
opcode_t *
Parrot_isge_i_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 777 "src/ops/cmp.ops"
IREG(1) = (VTABLE_cmp(interp, PREG(2), PREG(3)) >= 0);
return (opcode_t *)cur_opcode + 4;}
@@ -20460,6 +20822,7 @@
opcode_t *
Parrot_isle_i_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 793 "src/ops/cmp.ops"
IREG(1) = IREG(2) <= IREG(3);
return (opcode_t *)cur_opcode + 4;}
@@ -20467,6 +20830,7 @@
opcode_t *
Parrot_isle_i_ic_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 793 "src/ops/cmp.ops"
IREG(1) = cur_opcode[2] <= IREG(3);
return (opcode_t *)cur_opcode + 4;}
@@ -20474,6 +20838,7 @@
opcode_t *
Parrot_isle_i_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 793 "src/ops/cmp.ops"
IREG(1) = IREG(2) <= cur_opcode[3];
return (opcode_t *)cur_opcode + 4;}
@@ -20481,6 +20846,7 @@
opcode_t *
Parrot_isle_i_n_n(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 797 "src/ops/cmp.ops"
IREG(1) = NREG(2) <= NREG(3);
return (opcode_t *)cur_opcode + 4;}
@@ -20488,6 +20854,7 @@
opcode_t *
Parrot_isle_i_nc_n(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 797 "src/ops/cmp.ops"
IREG(1) = CONST(2)->u.number <= NREG(3);
return (opcode_t *)cur_opcode + 4;}
@@ -20495,6 +20862,7 @@
opcode_t *
Parrot_isle_i_n_nc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 797 "src/ops/cmp.ops"
IREG(1) = NREG(2) <= CONST(3)->u.number;
return (opcode_t *)cur_opcode + 4;}
@@ -20502,6 +20870,7 @@
opcode_t *
Parrot_isle_i_s_s(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 801 "src/ops/cmp.ops"
IREG(1) = Parrot_str_compare(interp, SREG(2), SREG(3)) <= 0;
return (opcode_t *)cur_opcode + 4;}
@@ -20509,6 +20878,7 @@
opcode_t *
Parrot_isle_i_sc_s(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 801 "src/ops/cmp.ops"
IREG(1) = Parrot_str_compare(interp, CONST(2)->u.string, SREG(3)) <= 0;
return (opcode_t *)cur_opcode + 4;}
@@ -20516,6 +20886,7 @@
opcode_t *
Parrot_isle_i_s_sc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 801 "src/ops/cmp.ops"
IREG(1) = Parrot_str_compare(interp, SREG(2), CONST(3)->u.string) <= 0;
return (opcode_t *)cur_opcode + 4;}
@@ -20523,6 +20894,7 @@
opcode_t *
Parrot_isle_i_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 805 "src/ops/cmp.ops"
IREG(1) = (VTABLE_cmp(interp, PREG(2), PREG(3)) <= 0);
return (opcode_t *)cur_opcode + 4;}
@@ -20530,6 +20902,7 @@
opcode_t *
Parrot_islt_i_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 821 "src/ops/cmp.ops"
IREG(1) = (IREG(2) < IREG(3)) ? 1 : 0;
return (opcode_t *)cur_opcode + 4;}
@@ -20537,6 +20910,7 @@
opcode_t *
Parrot_islt_i_ic_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 821 "src/ops/cmp.ops"
IREG(1) = (cur_opcode[2] < IREG(3)) ? 1 : 0;
return (opcode_t *)cur_opcode + 4;}
@@ -20544,6 +20918,7 @@
opcode_t *
Parrot_islt_i_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 821 "src/ops/cmp.ops"
IREG(1) = (IREG(2) < cur_opcode[3]) ? 1 : 0;
return (opcode_t *)cur_opcode + 4;}
@@ -20551,6 +20926,7 @@
opcode_t *
Parrot_islt_i_n_n(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 825 "src/ops/cmp.ops"
IREG(1) = NREG(2) < NREG(3);
return (opcode_t *)cur_opcode + 4;}
@@ -20558,6 +20934,7 @@
opcode_t *
Parrot_islt_i_nc_n(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 825 "src/ops/cmp.ops"
IREG(1) = CONST(2)->u.number < NREG(3);
return (opcode_t *)cur_opcode + 4;}
@@ -20565,6 +20942,7 @@
opcode_t *
Parrot_islt_i_n_nc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 825 "src/ops/cmp.ops"
IREG(1) = NREG(2) < CONST(3)->u.number;
return (opcode_t *)cur_opcode + 4;}
@@ -20572,6 +20950,7 @@
opcode_t *
Parrot_islt_i_s_s(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 829 "src/ops/cmp.ops"
IREG(1) = Parrot_str_compare(interp, SREG(2), SREG(3)) < 0;
return (opcode_t *)cur_opcode + 4;}
@@ -20579,6 +20958,7 @@
opcode_t *
Parrot_islt_i_sc_s(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 829 "src/ops/cmp.ops"
IREG(1) = Parrot_str_compare(interp, CONST(2)->u.string, SREG(3)) < 0;
return (opcode_t *)cur_opcode + 4;}
@@ -20586,6 +20966,7 @@
opcode_t *
Parrot_islt_i_s_sc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 829 "src/ops/cmp.ops"
IREG(1) = Parrot_str_compare(interp, SREG(2), CONST(3)->u.string) < 0;
return (opcode_t *)cur_opcode + 4;}
@@ -20593,6 +20974,7 @@
opcode_t *
Parrot_islt_i_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 833 "src/ops/cmp.ops"
IREG(1) = (VTABLE_cmp(interp, PREG(2), PREG(3)) < 0);
return (opcode_t *)cur_opcode + 4;}
@@ -20600,6 +20982,7 @@
opcode_t *
Parrot_iseq_i_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 849 "src/ops/cmp.ops"
IREG(1) = (IREG(2) == IREG(3)) ? 1 : 0;
return (opcode_t *)cur_opcode + 4;}
@@ -20607,6 +20990,7 @@
opcode_t *
Parrot_iseq_i_ic_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 849 "src/ops/cmp.ops"
IREG(1) = (cur_opcode[2] == IREG(3)) ? 1 : 0;
return (opcode_t *)cur_opcode + 4;}
@@ -20614,6 +20998,7 @@
opcode_t *
Parrot_iseq_i_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 849 "src/ops/cmp.ops"
IREG(1) = (IREG(2) == cur_opcode[3]) ? 1 : 0;
return (opcode_t *)cur_opcode + 4;}
@@ -20621,6 +21006,7 @@
opcode_t *
Parrot_iseq_i_n_n(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 853 "src/ops/cmp.ops"
IREG(1) = NREG(2) == NREG(3);
return (opcode_t *)cur_opcode + 4;}
@@ -20628,6 +21014,7 @@
opcode_t *
Parrot_iseq_i_nc_n(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 853 "src/ops/cmp.ops"
IREG(1) = CONST(2)->u.number == NREG(3);
return (opcode_t *)cur_opcode + 4;}
@@ -20635,6 +21022,7 @@
opcode_t *
Parrot_iseq_i_n_nc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 853 "src/ops/cmp.ops"
IREG(1) = NREG(2) == CONST(3)->u.number;
return (opcode_t *)cur_opcode + 4;}
@@ -20642,6 +21030,7 @@
opcode_t *
Parrot_iseq_i_s_s(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 857 "src/ops/cmp.ops"
IREG(1) = (Parrot_str_equal(interp, SREG(2), SREG(3)) ? 1 : 0);
return (opcode_t *)cur_opcode + 4;}
@@ -20649,6 +21038,7 @@
opcode_t *
Parrot_iseq_i_sc_s(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 857 "src/ops/cmp.ops"
IREG(1) = (Parrot_str_equal(interp, CONST(2)->u.string, SREG(3)) ? 1 : 0);
return (opcode_t *)cur_opcode + 4;}
@@ -20656,6 +21046,7 @@
opcode_t *
Parrot_iseq_i_s_sc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 857 "src/ops/cmp.ops"
IREG(1) = (Parrot_str_equal(interp, SREG(2), CONST(3)->u.string) ? 1 : 0);
return (opcode_t *)cur_opcode + 4;}
@@ -20663,6 +21054,7 @@
opcode_t *
Parrot_iseq_i_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 861 "src/ops/cmp.ops"
if (&PREG(2) == &PREG(3))
IREG(1) = 1;
else
@@ -20673,6 +21065,7 @@
opcode_t *
Parrot_isne_i_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 880 "src/ops/cmp.ops"
IREG(1) = (IREG(2) == IREG(3)) ? 0 : 1;
return (opcode_t *)cur_opcode + 4;}
@@ -20680,6 +21073,7 @@
opcode_t *
Parrot_isne_i_ic_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 880 "src/ops/cmp.ops"
IREG(1) = (cur_opcode[2] == IREG(3)) ? 0 : 1;
return (opcode_t *)cur_opcode + 4;}
@@ -20687,6 +21081,7 @@
opcode_t *
Parrot_isne_i_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 880 "src/ops/cmp.ops"
IREG(1) = (IREG(2) == cur_opcode[3]) ? 0 : 1;
return (opcode_t *)cur_opcode + 4;}
@@ -20694,6 +21089,7 @@
opcode_t *
Parrot_isne_i_n_n(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 884 "src/ops/cmp.ops"
IREG(1) = NREG(2) != NREG(3);
return (opcode_t *)cur_opcode + 4;}
@@ -20701,6 +21097,7 @@
opcode_t *
Parrot_isne_i_nc_n(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 884 "src/ops/cmp.ops"
IREG(1) = CONST(2)->u.number != NREG(3);
return (opcode_t *)cur_opcode + 4;}
@@ -20708,6 +21105,7 @@
opcode_t *
Parrot_isne_i_n_nc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 884 "src/ops/cmp.ops"
IREG(1) = NREG(2) != CONST(3)->u.number;
return (opcode_t *)cur_opcode + 4;}
@@ -20715,6 +21113,7 @@
opcode_t *
Parrot_isne_i_s_s(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 888 "src/ops/cmp.ops"
IREG(1) = (Parrot_str_not_equal(interp, SREG(2), SREG(3)) ? 1 : 0);
return (opcode_t *)cur_opcode + 4;}
@@ -20722,6 +21121,7 @@
opcode_t *
Parrot_isne_i_sc_s(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 888 "src/ops/cmp.ops"
IREG(1) = (Parrot_str_not_equal(interp, CONST(2)->u.string, SREG(3)) ? 1 : 0);
return (opcode_t *)cur_opcode + 4;}
@@ -20729,6 +21129,7 @@
opcode_t *
Parrot_isne_i_s_sc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 888 "src/ops/cmp.ops"
IREG(1) = (Parrot_str_not_equal(interp, SREG(2), CONST(3)->u.string) ? 1 : 0);
return (opcode_t *)cur_opcode + 4;}
@@ -20736,6 +21137,7 @@
opcode_t *
Parrot_isne_i_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 892 "src/ops/cmp.ops"
if (&PREG(2) == &PREG(3))
IREG(1) = 0;
else
@@ -20746,6 +21148,7 @@
opcode_t *
Parrot_and_i_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 924 "src/ops/cmp.ops"
IREG(1) = IREG(2) ? IREG(3) : IREG(2);
return (opcode_t *)cur_opcode + 4;}
@@ -20753,6 +21156,7 @@
opcode_t *
Parrot_and_i_ic_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 924 "src/ops/cmp.ops"
IREG(1) = cur_opcode[2] ? IREG(3) : cur_opcode[2];
return (opcode_t *)cur_opcode + 4;}
@@ -20760,6 +21164,7 @@
opcode_t *
Parrot_and_i_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 924 "src/ops/cmp.ops"
IREG(1) = IREG(2) ? cur_opcode[3] : IREG(2);
return (opcode_t *)cur_opcode + 4;}
@@ -20767,6 +21172,7 @@
opcode_t *
Parrot_and_p_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 928 "src/ops/cmp.ops"
PREG(1) = VTABLE_logical_and(interp, PREG(2), PREG(3), PREG(1));
return (opcode_t *)cur_opcode + 4;}
@@ -20774,6 +21180,7 @@
opcode_t *
Parrot_not_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 946 "src/ops/cmp.ops"
IREG(1) = ! IREG(1);
return (opcode_t *)cur_opcode + 2;}
@@ -20781,6 +21188,7 @@
opcode_t *
Parrot_not_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 950 "src/ops/cmp.ops"
IREG(1) = ! IREG(2);
return (opcode_t *)cur_opcode + 3;}
@@ -20788,6 +21196,7 @@
opcode_t *
Parrot_not_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 954 "src/ops/cmp.ops"
VTABLE_i_logical_not(interp, PREG(1));
return (opcode_t *)cur_opcode + 2;}
@@ -20795,6 +21204,7 @@
opcode_t *
Parrot_not_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 958 "src/ops/cmp.ops"
PREG(1) = VTABLE_logical_not(interp, PREG(2), PREG(1));
return (opcode_t *)cur_opcode + 3;}
@@ -20802,6 +21212,7 @@
opcode_t *
Parrot_or_i_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 972 "src/ops/cmp.ops"
IREG(1) = IREG(2) ? IREG(2) : IREG(3);
return (opcode_t *)cur_opcode + 4;}
@@ -20809,6 +21220,7 @@
opcode_t *
Parrot_or_i_ic_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 972 "src/ops/cmp.ops"
IREG(1) = cur_opcode[2] ? cur_opcode[2] : IREG(3);
return (opcode_t *)cur_opcode + 4;}
@@ -20816,6 +21228,7 @@
opcode_t *
Parrot_or_i_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 972 "src/ops/cmp.ops"
IREG(1) = IREG(2) ? IREG(2) : cur_opcode[3];
return (opcode_t *)cur_opcode + 4;}
@@ -20823,6 +21236,7 @@
opcode_t *
Parrot_or_p_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 976 "src/ops/cmp.ops"
PREG(1) = VTABLE_logical_or(interp, PREG(2), PREG(3), PREG(1));
return (opcode_t *)cur_opcode + 4;}
@@ -20830,6 +21244,7 @@
opcode_t *
Parrot_xor_i_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 991 "src/ops/cmp.ops"
IREG(1) = (IREG(2) && ! IREG(3)) ? IREG(2) : (IREG(3) && ! IREG(2)) ? IREG(3) : 0;
return (opcode_t *)cur_opcode + 4;}
@@ -20837,6 +21252,7 @@
opcode_t *
Parrot_xor_i_ic_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 991 "src/ops/cmp.ops"
IREG(1) = (cur_opcode[2] && ! IREG(3)) ? cur_opcode[2] : (IREG(3) && ! cur_opcode[2]) ? IREG(3) : 0;
return (opcode_t *)cur_opcode + 4;}
@@ -20844,6 +21260,7 @@
opcode_t *
Parrot_xor_i_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 991 "src/ops/cmp.ops"
IREG(1) = (IREG(2) && ! cur_opcode[3]) ? IREG(2) : (cur_opcode[3] && ! IREG(2)) ? cur_opcode[3] : 0;
return (opcode_t *)cur_opcode + 4;}
@@ -20851,6 +21268,7 @@
opcode_t *
Parrot_xor_p_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 995 "src/ops/cmp.ops"
PREG(1) = VTABLE_logical_xor(interp, PREG(2), PREG(3), PREG(1));
return (opcode_t *)cur_opcode + 4;}
@@ -20858,6 +21276,7 @@
opcode_t *
Parrot_debug_init(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 45 "src/ops/debug.ops"
Parrot_debugger_init(interp);
return (opcode_t *)cur_opcode + 1;}
@@ -20865,6 +21284,7 @@
opcode_t *
Parrot_debug_load_sc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 57 "src/ops/debug.ops"
Parrot_debugger_load(interp, CONST(1)->u.string);
return (opcode_t *)cur_opcode + 2;}
@@ -20872,6 +21292,7 @@
opcode_t *
Parrot_debug_break(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 74 "src/ops/debug.ops"
Parrot_debugger_break(interp, cur_opcode);
return (opcode_t *)cur_opcode + 1;}
@@ -20879,6 +21300,7 @@
opcode_t *
Parrot_debug_print(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 86 "src/ops/debug.ops"
if (!interp->pdb) {
opcode_t *handler = Parrot_ex_throw_from_op_args(interp, cur_opcode + 1,
EXCEPTION_INVALID_OPERATION,
@@ -20898,6 +21320,7 @@
opcode_t *
Parrot_backtrace(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 108 "src/ops/debug.ops"
PDB_backtrace(interp);
return (opcode_t *)cur_opcode + 1;}
@@ -20905,6 +21328,7 @@
opcode_t *
Parrot_getline_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 120 "src/ops/debug.ops"
Parrot_Context_info info;
Parrot_Context_get_info(interp, CURRENT_CONTEXT(interp), &info);
IREG(1) = info.line;
@@ -20914,6 +21338,7 @@
opcode_t *
Parrot_getfile_s(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 132 "src/ops/debug.ops"
Parrot_Context_info info;
Parrot_Context_get_info(interp, CURRENT_CONTEXT(interp), &info);
SREG(1) = info.file;
@@ -20923,6 +21348,7 @@
opcode_t *
Parrot_close_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 43 "src/ops/io.ops"
Parrot_io_close(interp, PREG(1));
return (opcode_t *)cur_opcode + 2;}
@@ -20930,6 +21356,7 @@
opcode_t *
Parrot_fdopen_p_i_s(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 55 "src/ops/io.ops"
PREG(1) = Parrot_io_fdopen(interp, PMCNULL, (PIOHANDLE)IREG(2), SREG(3));
if (!PREG(1))
PREG(1) = Parrot_pmc_new(interp, enum_class_Undef);
@@ -20939,6 +21366,7 @@
opcode_t *
Parrot_fdopen_p_ic_s(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 55 "src/ops/io.ops"
PREG(1) = Parrot_io_fdopen(interp, PMCNULL, (PIOHANDLE)cur_opcode[2], SREG(3));
if (!PREG(1))
PREG(1) = Parrot_pmc_new(interp, enum_class_Undef);
@@ -20948,6 +21376,7 @@
opcode_t *
Parrot_fdopen_p_i_sc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 55 "src/ops/io.ops"
PREG(1) = Parrot_io_fdopen(interp, PMCNULL, (PIOHANDLE)IREG(2), CONST(3)->u.string);
if (!PREG(1))
PREG(1) = Parrot_pmc_new(interp, enum_class_Undef);
@@ -20957,6 +21386,7 @@
opcode_t *
Parrot_fdopen_p_ic_sc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 55 "src/ops/io.ops"
PREG(1) = Parrot_io_fdopen(interp, PMCNULL, (PIOHANDLE)cur_opcode[2], CONST(3)->u.string);
if (!PREG(1))
PREG(1) = Parrot_pmc_new(interp, enum_class_Undef);
@@ -20966,6 +21396,7 @@
opcode_t *
Parrot_getstdin_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 78 "src/ops/io.ops"
PREG(1) = _PIO_STDIN(interp);
return (opcode_t *)cur_opcode + 2;}
@@ -20973,6 +21404,7 @@
opcode_t *
Parrot_getstdout_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 82 "src/ops/io.ops"
PREG(1) = _PIO_STDOUT(interp);
return (opcode_t *)cur_opcode + 2;}
@@ -20980,6 +21412,7 @@
opcode_t *
Parrot_getstderr_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 86 "src/ops/io.ops"
PREG(1) = _PIO_STDERR(interp);
return (opcode_t *)cur_opcode + 2;}
@@ -20987,6 +21420,7 @@
opcode_t *
Parrot_setstdin_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 109 "src/ops/io.ops"
_PIO_STDIN(interp) = PREG(1);
return (opcode_t *)cur_opcode + 2;}
@@ -20994,6 +21428,7 @@
opcode_t *
Parrot_setstdout_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 113 "src/ops/io.ops"
_PIO_STDOUT(interp) = PREG(1);
return (opcode_t *)cur_opcode + 2;}
@@ -21001,6 +21436,7 @@
opcode_t *
Parrot_setstderr_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 117 "src/ops/io.ops"
_PIO_STDERR(interp) = PREG(1);
return (opcode_t *)cur_opcode + 2;}
@@ -21008,6 +21444,7 @@
opcode_t *
Parrot_open_p_s_s(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 142 "src/ops/io.ops"
if (STRING_IS_NULL(SREG(2)) || STRING_IS_NULL(SREG(3))) {
opcode_t *handler = Parrot_ex_throw_from_op_args(interp, cur_opcode + 4,
EXCEPTION_UNEXPECTED_NULL, "Invalid open");
@@ -21023,6 +21460,7 @@
opcode_t *
Parrot_open_p_sc_s(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 142 "src/ops/io.ops"
if (STRING_IS_NULL(CONST(2)->u.string) || STRING_IS_NULL(SREG(3))) {
opcode_t *handler = Parrot_ex_throw_from_op_args(interp, cur_opcode + 4,
EXCEPTION_UNEXPECTED_NULL, "Invalid open");
@@ -21038,6 +21476,7 @@
opcode_t *
Parrot_open_p_s_sc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 142 "src/ops/io.ops"
if (STRING_IS_NULL(SREG(2)) || STRING_IS_NULL(CONST(3)->u.string)) {
opcode_t *handler = Parrot_ex_throw_from_op_args(interp, cur_opcode + 4,
EXCEPTION_UNEXPECTED_NULL, "Invalid open");
@@ -21053,6 +21492,7 @@
opcode_t *
Parrot_open_p_sc_sc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 142 "src/ops/io.ops"
if (STRING_IS_NULL(CONST(2)->u.string) || STRING_IS_NULL(CONST(3)->u.string)) {
opcode_t *handler = Parrot_ex_throw_from_op_args(interp, cur_opcode + 4,
EXCEPTION_UNEXPECTED_NULL, "Invalid open");
@@ -21068,6 +21508,7 @@
opcode_t *
Parrot_open_p_s(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 154 "src/ops/io.ops"
if (STRING_IS_NULL(SREG(2))) {
opcode_t *handler = Parrot_ex_throw_from_op_args(interp, cur_opcode + 3,
EXCEPTION_UNEXPECTED_NULL, "Invalid open");
@@ -21083,6 +21524,7 @@
opcode_t *
Parrot_open_p_sc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 154 "src/ops/io.ops"
if (STRING_IS_NULL(CONST(2)->u.string)) {
opcode_t *handler = Parrot_ex_throw_from_op_args(interp, cur_opcode + 3,
EXCEPTION_UNEXPECTED_NULL, "Invalid open");
@@ -21098,6 +21540,7 @@
opcode_t *
Parrot_print_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 180 "src/ops/io.ops"
Parrot_io_printf(interp, INTVAL_FMT, (INTVAL)IREG(1));
return (opcode_t *)cur_opcode + 2;}
@@ -21105,6 +21548,7 @@
opcode_t *
Parrot_print_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 180 "src/ops/io.ops"
Parrot_io_printf(interp, INTVAL_FMT, (INTVAL)cur_opcode[1]);
return (opcode_t *)cur_opcode + 2;}
@@ -21112,6 +21556,7 @@
opcode_t *
Parrot_print_n(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 184 "src/ops/io.ops"
#ifdef PARROT_HAS_NEGATIVE_ZERO
Parrot_io_printf(interp, FLOATVAL_FMT, NREG(1));
#else
@@ -21129,6 +21574,7 @@
opcode_t *
Parrot_print_nc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 184 "src/ops/io.ops"
#ifdef PARROT_HAS_NEGATIVE_ZERO
Parrot_io_printf(interp, FLOATVAL_FMT, CONST(1)->u.number);
#else
@@ -21146,6 +21592,7 @@
opcode_t *
Parrot_print_s(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 198 "src/ops/io.ops"
STRING * const s = SREG(1);
if (s && Parrot_str_byte_length(interp, s))
Parrot_io_putps(interp, _PIO_STDOUT(interp), s);
@@ -21155,6 +21602,7 @@
opcode_t *
Parrot_print_sc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 198 "src/ops/io.ops"
STRING * const s = CONST(1)->u.string;
if (s && Parrot_str_byte_length(interp, s))
Parrot_io_putps(interp, _PIO_STDOUT(interp), s);
@@ -21164,6 +21612,7 @@
opcode_t *
Parrot_print_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 204 "src/ops/io.ops"
PMC * const p = PREG(1);
STRING * const s = (VTABLE_get_string(interp, p));
if (s)
@@ -21174,6 +21623,7 @@
opcode_t *
Parrot_say_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 223 "src/ops/io.ops"
Parrot_io_printf(interp, INTVAL_FMT "\n", (INTVAL)IREG(1));
return (opcode_t *)cur_opcode + 2;}
@@ -21181,6 +21631,7 @@
opcode_t *
Parrot_say_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 223 "src/ops/io.ops"
Parrot_io_printf(interp, INTVAL_FMT "\n", (INTVAL)cur_opcode[1]);
return (opcode_t *)cur_opcode + 2;}
@@ -21188,6 +21639,7 @@
opcode_t *
Parrot_say_n(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 227 "src/ops/io.ops"
#ifdef PARROT_HAS_NEGATIVE_ZERO
Parrot_io_printf(interp, FLOATVAL_FMT "\n", NREG(1));
#else
@@ -21205,6 +21657,7 @@
opcode_t *
Parrot_say_nc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 227 "src/ops/io.ops"
#ifdef PARROT_HAS_NEGATIVE_ZERO
Parrot_io_printf(interp, FLOATVAL_FMT "\n", CONST(1)->u.number);
#else
@@ -21222,6 +21675,7 @@
opcode_t *
Parrot_say_s(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 241 "src/ops/io.ops"
STRING * const s = SREG(1);
if (s && Parrot_str_byte_length(interp, s))
Parrot_io_putps(interp, _PIO_STDOUT(interp), s);
@@ -21232,6 +21686,7 @@
opcode_t *
Parrot_say_sc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 241 "src/ops/io.ops"
STRING * const s = CONST(1)->u.string;
if (s && Parrot_str_byte_length(interp, s))
Parrot_io_putps(interp, _PIO_STDOUT(interp), s);
@@ -21242,6 +21697,7 @@
opcode_t *
Parrot_say_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 248 "src/ops/io.ops"
PMC * const p = PREG(1);
if (PMC_IS_NULL(p)) {
@@ -21262,6 +21718,7 @@
opcode_t *
Parrot_printerr_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 282 "src/ops/io.ops"
Parrot_io_eprintf(interp, INTVAL_FMT, IREG(1));
return (opcode_t *)cur_opcode + 2;}
@@ -21269,6 +21726,7 @@
opcode_t *
Parrot_printerr_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 282 "src/ops/io.ops"
Parrot_io_eprintf(interp, INTVAL_FMT, cur_opcode[1]);
return (opcode_t *)cur_opcode + 2;}
@@ -21276,6 +21734,7 @@
opcode_t *
Parrot_printerr_n(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 286 "src/ops/io.ops"
Parrot_io_eprintf(interp, FLOATVAL_FMT, NREG(1));
return (opcode_t *)cur_opcode + 2;}
@@ -21283,6 +21742,7 @@
opcode_t *
Parrot_printerr_nc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 286 "src/ops/io.ops"
Parrot_io_eprintf(interp, FLOATVAL_FMT, CONST(1)->u.number);
return (opcode_t *)cur_opcode + 2;}
@@ -21290,6 +21750,7 @@
opcode_t *
Parrot_printerr_s(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 290 "src/ops/io.ops"
STRING * const s = SREG(1);
if (s && Parrot_str_byte_length(interp, s))
Parrot_io_putps(interp, _PIO_STDERR(interp), s);
@@ -21299,6 +21760,7 @@
opcode_t *
Parrot_printerr_sc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 290 "src/ops/io.ops"
STRING * const s = CONST(1)->u.string;
if (s && Parrot_str_byte_length(interp, s))
Parrot_io_putps(interp, _PIO_STDERR(interp), s);
@@ -21308,6 +21770,7 @@
opcode_t *
Parrot_printerr_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 296 "src/ops/io.ops"
PMC * const p = PREG(1);
STRING * const s = (VTABLE_get_string(interp, p));
if (s)
@@ -21318,6 +21781,7 @@
opcode_t *
Parrot_print_p_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 317 "src/ops/io.ops"
if (PREG(1)) {
STRING * const s = Parrot_str_from_int(interp, IREG(2));
Parrot_io_putps(interp, PREG(1), s);
@@ -21328,6 +21792,7 @@
opcode_t *
Parrot_print_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 317 "src/ops/io.ops"
if (PREG(1)) {
STRING * const s = Parrot_str_from_int(interp, cur_opcode[2]);
Parrot_io_putps(interp, PREG(1), s);
@@ -21338,6 +21803,7 @@
opcode_t *
Parrot_print_p_n(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 324 "src/ops/io.ops"
if (PREG(1)) {
STRING * const s = Parrot_sprintf_c(interp, FLOATVAL_FMT, NREG(2));
Parrot_io_putps(interp, PREG(1), s);
@@ -21348,6 +21814,7 @@
opcode_t *
Parrot_print_p_nc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 324 "src/ops/io.ops"
if (PREG(1)) {
STRING * const s = Parrot_sprintf_c(interp, FLOATVAL_FMT, CONST(2)->u.number);
Parrot_io_putps(interp, PREG(1), s);
@@ -21358,6 +21825,7 @@
opcode_t *
Parrot_print_p_s(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 331 "src/ops/io.ops"
if (SREG(2) && PREG(1)) {
Parrot_io_putps(interp, PREG(1), SREG(2));
}
@@ -21367,6 +21835,7 @@
opcode_t *
Parrot_print_p_sc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 331 "src/ops/io.ops"
if (CONST(2)->u.string && PREG(1)) {
Parrot_io_putps(interp, PREG(1), CONST(2)->u.string);
}
@@ -21376,6 +21845,7 @@
opcode_t *
Parrot_print_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 337 "src/ops/io.ops"
if (PREG(2) && PREG(1)) {
STRING * const s = VTABLE_get_string(interp, PREG(2));
Parrot_io_putps(interp, PREG(1), s);
@@ -21386,6 +21856,7 @@
opcode_t *
Parrot_read_s_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 356 "src/ops/io.ops"
SREG(1) = Parrot_io_reads(interp, _PIO_STDIN(interp), (size_t)IREG(2));
return (opcode_t *)cur_opcode + 3;}
@@ -21393,6 +21864,7 @@
opcode_t *
Parrot_read_s_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 356 "src/ops/io.ops"
SREG(1) = Parrot_io_reads(interp, _PIO_STDIN(interp), (size_t)cur_opcode[2]);
return (opcode_t *)cur_opcode + 3;}
@@ -21400,6 +21872,7 @@
opcode_t *
Parrot_read_s_p_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 360 "src/ops/io.ops"
SREG(1) = Parrot_io_reads(interp, PREG(2), (size_t)IREG(3));
return (opcode_t *)cur_opcode + 4;}
@@ -21407,6 +21880,7 @@
opcode_t *
Parrot_read_s_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 360 "src/ops/io.ops"
SREG(1) = Parrot_io_reads(interp, PREG(2), (size_t)cur_opcode[3]);
return (opcode_t *)cur_opcode + 4;}
@@ -21414,6 +21888,7 @@
opcode_t *
Parrot_readline_s_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 371 "src/ops/io.ops"
SREG(1) = Parrot_io_readline(interp, PREG(2));
return (opcode_t *)cur_opcode + 3;}
@@ -21421,11 +21896,12 @@
opcode_t *
Parrot_peek_s(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 389 "src/ops/io.ops"
STRING ** const s = &SREG(1);
*s = NULL;
if (Parrot_io_peek(interp, _PIO_STDIN(interp), s) < 0) {
- SREG(1) = Parrot_str_new_noinit(interp, enum_stringrep_one, 0);
+ SREG(1) = STRINGNULL;
}
return (opcode_t *)cur_opcode + 2;}
@@ -21433,11 +21909,12 @@
opcode_t *
Parrot_peek_s_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 398 "src/ops/io.ops"
STRING ** const s = &SREG(1);
*s = NULL;
if (Parrot_io_peek(interp, PREG(2), s) < 0) {
- SREG(1) = Parrot_str_new_noinit(interp, enum_stringrep_one, 0);
+ SREG(1) = STRINGNULL;
}
return (opcode_t *)cur_opcode + 3;}
@@ -21445,6 +21922,7 @@
opcode_t *
Parrot_stat_i_s_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 431 "src/ops/io.ops"
IREG(1) = Parrot_stat_info_intval(interp, SREG(2), IREG(3));
return (opcode_t *)cur_opcode + 4;}
@@ -21452,6 +21930,7 @@
opcode_t *
Parrot_stat_i_sc_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 431 "src/ops/io.ops"
IREG(1) = Parrot_stat_info_intval(interp, CONST(2)->u.string, IREG(3));
return (opcode_t *)cur_opcode + 4;}
@@ -21459,6 +21938,7 @@
opcode_t *
Parrot_stat_i_s_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 431 "src/ops/io.ops"
IREG(1) = Parrot_stat_info_intval(interp, SREG(2), cur_opcode[3]);
return (opcode_t *)cur_opcode + 4;}
@@ -21466,6 +21946,7 @@
opcode_t *
Parrot_stat_i_sc_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 431 "src/ops/io.ops"
IREG(1) = Parrot_stat_info_intval(interp, CONST(2)->u.string, cur_opcode[3]);
return (opcode_t *)cur_opcode + 4;}
@@ -21473,6 +21954,7 @@
opcode_t *
Parrot_stat_i_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 435 "src/ops/io.ops"
IREG(1) = Parrot_fstat_info_intval(interp, IREG(2), IREG(3));
return (opcode_t *)cur_opcode + 4;}
@@ -21480,6 +21962,7 @@
opcode_t *
Parrot_stat_i_ic_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 435 "src/ops/io.ops"
IREG(1) = Parrot_fstat_info_intval(interp, cur_opcode[2], IREG(3));
return (opcode_t *)cur_opcode + 4;}
@@ -21487,6 +21970,7 @@
opcode_t *
Parrot_stat_i_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 435 "src/ops/io.ops"
IREG(1) = Parrot_fstat_info_intval(interp, IREG(2), cur_opcode[3]);
return (opcode_t *)cur_opcode + 4;}
@@ -21494,6 +21978,7 @@
opcode_t *
Parrot_stat_i_ic_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 435 "src/ops/io.ops"
IREG(1) = Parrot_fstat_info_intval(interp, cur_opcode[2], cur_opcode[3]);
return (opcode_t *)cur_opcode + 4;}
@@ -21501,6 +21986,7 @@
opcode_t *
Parrot_seek_p_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 465 "src/ops/io.ops"
if (PREG(1)) {
if (Parrot_io_seek(interp, PREG(1), Parrot_io_make_offset(IREG(2)), IREG(3)) < 0) {
opcode_t *handler = Parrot_ex_throw_from_op_args(interp, cur_opcode + 4,
@@ -21515,6 +22001,7 @@
opcode_t *
Parrot_seek_p_ic_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 465 "src/ops/io.ops"
if (PREG(1)) {
if (Parrot_io_seek(interp, PREG(1), Parrot_io_make_offset(cur_opcode[2]), IREG(3)) < 0) {
opcode_t *handler = Parrot_ex_throw_from_op_args(interp, cur_opcode + 4,
@@ -21529,6 +22016,7 @@
opcode_t *
Parrot_seek_p_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 465 "src/ops/io.ops"
if (PREG(1)) {
if (Parrot_io_seek(interp, PREG(1), Parrot_io_make_offset(IREG(2)), cur_opcode[3]) < 0) {
opcode_t *handler = Parrot_ex_throw_from_op_args(interp, cur_opcode + 4,
@@ -21543,6 +22031,7 @@
opcode_t *
Parrot_seek_p_ic_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 465 "src/ops/io.ops"
if (PREG(1)) {
if (Parrot_io_seek(interp, PREG(1), Parrot_io_make_offset(cur_opcode[2]), cur_opcode[3]) < 0) {
opcode_t *handler = Parrot_ex_throw_from_op_args(interp, cur_opcode + 4,
@@ -21557,6 +22046,7 @@
opcode_t *
Parrot_seek_p_i_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 476 "src/ops/io.ops"
if (PREG(1)) {
if (Parrot_io_seek(interp, PREG(1), Parrot_io_make_offset32(IREG(2), IREG(3)), IREG(4)) < 0) {
opcode_t *handler = Parrot_ex_throw_from_op_args(interp, cur_opcode + 5,
@@ -21571,6 +22061,7 @@
opcode_t *
Parrot_seek_p_ic_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 476 "src/ops/io.ops"
if (PREG(1)) {
if (Parrot_io_seek(interp, PREG(1), Parrot_io_make_offset32(cur_opcode[2], IREG(3)), IREG(4)) < 0) {
opcode_t *handler = Parrot_ex_throw_from_op_args(interp, cur_opcode + 5,
@@ -21585,6 +22076,7 @@
opcode_t *
Parrot_seek_p_i_ic_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 476 "src/ops/io.ops"
if (PREG(1)) {
if (Parrot_io_seek(interp, PREG(1), Parrot_io_make_offset32(IREG(2), cur_opcode[3]), IREG(4)) < 0) {
opcode_t *handler = Parrot_ex_throw_from_op_args(interp, cur_opcode + 5,
@@ -21599,6 +22091,7 @@
opcode_t *
Parrot_seek_p_ic_ic_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 476 "src/ops/io.ops"
if (PREG(1)) {
if (Parrot_io_seek(interp, PREG(1), Parrot_io_make_offset32(cur_opcode[2], cur_opcode[3]), IREG(4)) < 0) {
opcode_t *handler = Parrot_ex_throw_from_op_args(interp, cur_opcode + 5,
@@ -21613,6 +22106,7 @@
opcode_t *
Parrot_seek_p_i_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 476 "src/ops/io.ops"
if (PREG(1)) {
if (Parrot_io_seek(interp, PREG(1), Parrot_io_make_offset32(IREG(2), IREG(3)), cur_opcode[4]) < 0) {
opcode_t *handler = Parrot_ex_throw_from_op_args(interp, cur_opcode + 5,
@@ -21627,6 +22121,7 @@
opcode_t *
Parrot_seek_p_ic_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 476 "src/ops/io.ops"
if (PREG(1)) {
if (Parrot_io_seek(interp, PREG(1), Parrot_io_make_offset32(cur_opcode[2], IREG(3)), cur_opcode[4]) < 0) {
opcode_t *handler = Parrot_ex_throw_from_op_args(interp, cur_opcode + 5,
@@ -21641,6 +22136,7 @@
opcode_t *
Parrot_seek_p_i_ic_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 476 "src/ops/io.ops"
if (PREG(1)) {
if (Parrot_io_seek(interp, PREG(1), Parrot_io_make_offset32(IREG(2), cur_opcode[3]), cur_opcode[4]) < 0) {
opcode_t *handler = Parrot_ex_throw_from_op_args(interp, cur_opcode + 5,
@@ -21655,6 +22151,7 @@
opcode_t *
Parrot_seek_p_ic_ic_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 476 "src/ops/io.ops"
if (PREG(1)) {
if (Parrot_io_seek(interp, PREG(1), Parrot_io_make_offset32(cur_opcode[2], cur_opcode[3]), cur_opcode[4]) < 0) {
opcode_t *handler = Parrot_ex_throw_from_op_args(interp, cur_opcode + 5,
@@ -21669,6 +22166,7 @@
opcode_t *
Parrot_tell_i_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 502 "src/ops/io.ops"
if (PREG(2))
IREG(1) = (INTVAL)Parrot_io_tell(interp, PREG(2));
@@ -21677,6 +22175,7 @@
opcode_t *
Parrot_tell_i_i_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 507 "src/ops/io.ops"
if (PREG(3)) {
PIOOFF_T pos;
pos = Parrot_io_tell(interp, PREG(3));
@@ -21689,6 +22188,7 @@
opcode_t *
Parrot_abs_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 47 "src/ops/math.ops"
IREG(1) = abs(IREG(1));
return (opcode_t *)cur_opcode + 2;}
@@ -21696,6 +22196,7 @@
opcode_t *
Parrot_abs_n(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 51 "src/ops/math.ops"
NREG(1) = fabs(NREG(1));
return (opcode_t *)cur_opcode + 2;}
@@ -21703,6 +22204,7 @@
opcode_t *
Parrot_abs_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 55 "src/ops/math.ops"
if (IREG(2) < 0)
IREG(1) = - (INTVAL)IREG(2);
else
@@ -21713,6 +22215,7 @@
opcode_t *
Parrot_abs_n_n(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 62 "src/ops/math.ops"
if (NREG(2) < 0)
NREG(1) = - (FLOATVAL)NREG(2);
else
@@ -21723,6 +22226,7 @@
opcode_t *
Parrot_abs_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 69 "src/ops/math.ops"
VTABLE_i_absolute(interp, PREG(1));
return (opcode_t *)cur_opcode + 2;}
@@ -21730,6 +22234,7 @@
opcode_t *
Parrot_abs_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 73 "src/ops/math.ops"
PREG(1) = VTABLE_absolute(interp, PREG(2), PREG(1));
return (opcode_t *)cur_opcode + 3;}
@@ -21737,6 +22242,7 @@
opcode_t *
Parrot_add_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 105 "src/ops/math.ops"
IREG(1) += IREG(2);
return (opcode_t *)cur_opcode + 3;}
@@ -21744,6 +22250,7 @@
opcode_t *
Parrot_add_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 105 "src/ops/math.ops"
IREG(1) += cur_opcode[2];
return (opcode_t *)cur_opcode + 3;}
@@ -21751,6 +22258,7 @@
opcode_t *
Parrot_add_n_n(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 109 "src/ops/math.ops"
NREG(1) += NREG(2);
return (opcode_t *)cur_opcode + 3;}
@@ -21758,6 +22266,7 @@
opcode_t *
Parrot_add_n_nc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 109 "src/ops/math.ops"
NREG(1) += CONST(2)->u.number;
return (opcode_t *)cur_opcode + 3;}
@@ -21765,6 +22274,7 @@
opcode_t *
Parrot_add_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 113 "src/ops/math.ops"
VTABLE_i_add(interp, PREG(1), PREG(2));
return (opcode_t *)cur_opcode + 3;}
@@ -21772,6 +22282,7 @@
opcode_t *
Parrot_add_p_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 117 "src/ops/math.ops"
VTABLE_i_add_int(interp, PREG(1), IREG(2));
return (opcode_t *)cur_opcode + 3;}
@@ -21779,6 +22290,7 @@
opcode_t *
Parrot_add_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 117 "src/ops/math.ops"
VTABLE_i_add_int(interp, PREG(1), cur_opcode[2]);
return (opcode_t *)cur_opcode + 3;}
@@ -21786,6 +22298,7 @@
opcode_t *
Parrot_add_p_n(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 121 "src/ops/math.ops"
VTABLE_i_add_float(interp, PREG(1), NREG(2));
return (opcode_t *)cur_opcode + 3;}
@@ -21793,6 +22306,7 @@
opcode_t *
Parrot_add_p_nc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 121 "src/ops/math.ops"
VTABLE_i_add_float(interp, PREG(1), CONST(2)->u.number);
return (opcode_t *)cur_opcode + 3;}
@@ -21800,6 +22314,7 @@
opcode_t *
Parrot_add_i_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 125 "src/ops/math.ops"
IREG(1) = IREG(2) + IREG(3);
return (opcode_t *)cur_opcode + 4;}
@@ -21807,6 +22322,7 @@
opcode_t *
Parrot_add_i_ic_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 125 "src/ops/math.ops"
IREG(1) = cur_opcode[2] + IREG(3);
return (opcode_t *)cur_opcode + 4;}
@@ -21814,6 +22330,7 @@
opcode_t *
Parrot_add_i_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 125 "src/ops/math.ops"
IREG(1) = IREG(2) + cur_opcode[3];
return (opcode_t *)cur_opcode + 4;}
@@ -21821,6 +22338,7 @@
opcode_t *
Parrot_add_n_n_n(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 129 "src/ops/math.ops"
NREG(1) = NREG(2) + NREG(3);
return (opcode_t *)cur_opcode + 4;}
@@ -21828,6 +22346,7 @@
opcode_t *
Parrot_add_n_nc_n(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 129 "src/ops/math.ops"
NREG(1) = CONST(2)->u.number + NREG(3);
return (opcode_t *)cur_opcode + 4;}
@@ -21835,6 +22354,7 @@
opcode_t *
Parrot_add_n_n_nc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 129 "src/ops/math.ops"
NREG(1) = NREG(2) + CONST(3)->u.number;
return (opcode_t *)cur_opcode + 4;}
@@ -21842,6 +22362,7 @@
opcode_t *
Parrot_add_p_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 133 "src/ops/math.ops"
PREG(1) = VTABLE_add(interp, PREG(2), PREG(3), PREG(1));
return (opcode_t *)cur_opcode + 4;}
@@ -21849,6 +22370,7 @@
opcode_t *
Parrot_add_p_p_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 137 "src/ops/math.ops"
PREG(1) = VTABLE_add_int(interp, PREG(2), IREG(3), PREG(1));
return (opcode_t *)cur_opcode + 4;}
@@ -21856,6 +22378,7 @@
opcode_t *
Parrot_add_p_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 137 "src/ops/math.ops"
PREG(1) = VTABLE_add_int(interp, PREG(2), cur_opcode[3], PREG(1));
return (opcode_t *)cur_opcode + 4;}
@@ -21863,6 +22386,7 @@
opcode_t *
Parrot_add_p_p_n(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 141 "src/ops/math.ops"
PREG(1) = VTABLE_add_float(interp, PREG(2), NREG(3), PREG(1));
return (opcode_t *)cur_opcode + 4;}
@@ -21870,6 +22394,7 @@
opcode_t *
Parrot_add_p_p_nc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 141 "src/ops/math.ops"
PREG(1) = VTABLE_add_float(interp, PREG(2), CONST(3)->u.number, PREG(1));
return (opcode_t *)cur_opcode + 4;}
@@ -21877,6 +22402,7 @@
opcode_t *
Parrot_cmod_i_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 186 "src/ops/math.ops"
INTVAL den = IREG(3);
if (IREG(3) == 0) {
opcode_t *handler = Parrot_ex_throw_from_op_args(interp, cur_opcode + 4,
@@ -21891,6 +22417,7 @@
opcode_t *
Parrot_cmod_i_ic_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 186 "src/ops/math.ops"
INTVAL den = IREG(3);
if (IREG(3) == 0) {
opcode_t *handler = Parrot_ex_throw_from_op_args(interp, cur_opcode + 4,
@@ -21905,6 +22432,7 @@
opcode_t *
Parrot_cmod_i_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 186 "src/ops/math.ops"
INTVAL den = cur_opcode[3];
if (cur_opcode[3] == 0) {
opcode_t *handler = Parrot_ex_throw_from_op_args(interp, cur_opcode + 4,
@@ -21919,6 +22447,7 @@
opcode_t *
Parrot_cmod_p_p_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 197 "src/ops/math.ops"
INTVAL result;
if (IREG(3) == 0) {
@@ -21938,6 +22467,7 @@
opcode_t *
Parrot_cmod_p_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 197 "src/ops/math.ops"
INTVAL result;
if (cur_opcode[3] == 0) {
@@ -21957,6 +22487,7 @@
opcode_t *
Parrot_cmod_p_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 213 "src/ops/math.ops"
INTVAL result;
INTVAL value = VTABLE_get_integer(interp, PREG(3));
@@ -21977,6 +22508,7 @@
opcode_t *
Parrot_cmod_n_n_n(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 263 "src/ops/math.ops"
FLOATVAL den = NREG(3);
if (FLOAT_IS_ZERO(NREG(3))) {
opcode_t *handler = Parrot_ex_throw_from_op_args(interp, cur_opcode + 4,
@@ -21991,6 +22523,7 @@
opcode_t *
Parrot_cmod_n_nc_n(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 263 "src/ops/math.ops"
FLOATVAL den = NREG(3);
if (FLOAT_IS_ZERO(NREG(3))) {
opcode_t *handler = Parrot_ex_throw_from_op_args(interp, cur_opcode + 4,
@@ -22005,6 +22538,7 @@
opcode_t *
Parrot_cmod_n_n_nc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 263 "src/ops/math.ops"
FLOATVAL den = CONST(3)->u.number;
if (FLOAT_IS_ZERO(CONST(3)->u.number)) {
opcode_t *handler = Parrot_ex_throw_from_op_args(interp, cur_opcode + 4,
@@ -22019,6 +22553,7 @@
opcode_t *
Parrot_cmod_p_p_n(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 274 "src/ops/math.ops"
FLOATVAL result;
FLOATVAL value = NREG(3);
@@ -22039,6 +22574,7 @@
opcode_t *
Parrot_cmod_p_p_nc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 274 "src/ops/math.ops"
FLOATVAL result;
FLOATVAL value = CONST(3)->u.number;
@@ -22059,6 +22595,7 @@
opcode_t *
Parrot_dec_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 303 "src/ops/math.ops"
IREG(1)--;
return (opcode_t *)cur_opcode + 2;}
@@ -22066,6 +22603,7 @@
opcode_t *
Parrot_dec_n(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 307 "src/ops/math.ops"
NREG(1)--;
return (opcode_t *)cur_opcode + 2;}
@@ -22073,6 +22611,7 @@
opcode_t *
Parrot_dec_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 311 "src/ops/math.ops"
VTABLE_decrement(interp, PREG(1));
return (opcode_t *)cur_opcode + 2;}
@@ -22080,6 +22619,7 @@
opcode_t *
Parrot_div_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 345 "src/ops/math.ops"
INTVAL den = IREG(2);
if (den == 0) {
opcode_t *handler = Parrot_ex_throw_from_op_args(interp, cur_opcode + 3,
@@ -22094,6 +22634,7 @@
opcode_t *
Parrot_div_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 345 "src/ops/math.ops"
INTVAL den = cur_opcode[2];
if (den == 0) {
opcode_t *handler = Parrot_ex_throw_from_op_args(interp, cur_opcode + 3,
@@ -22108,6 +22649,7 @@
opcode_t *
Parrot_div_n_n(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 356 "src/ops/math.ops"
FLOATVAL den = NREG(2);
if (FLOAT_IS_ZERO(den)) {
opcode_t *handler = Parrot_ex_throw_from_op_args(interp, cur_opcode + 3,
@@ -22122,6 +22664,7 @@
opcode_t *
Parrot_div_n_nc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 356 "src/ops/math.ops"
FLOATVAL den = CONST(2)->u.number;
if (FLOAT_IS_ZERO(den)) {
opcode_t *handler = Parrot_ex_throw_from_op_args(interp, cur_opcode + 3,
@@ -22136,6 +22679,7 @@
opcode_t *
Parrot_div_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 367 "src/ops/math.ops"
VTABLE_i_divide(interp, PREG(1), PREG(2));
return (opcode_t *)cur_opcode + 3;}
@@ -22143,6 +22687,7 @@
opcode_t *
Parrot_div_p_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 371 "src/ops/math.ops"
VTABLE_i_divide_int(interp, PREG(1), IREG(2));
return (opcode_t *)cur_opcode + 3;}
@@ -22150,6 +22695,7 @@
opcode_t *
Parrot_div_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 371 "src/ops/math.ops"
VTABLE_i_divide_int(interp, PREG(1), cur_opcode[2]);
return (opcode_t *)cur_opcode + 3;}
@@ -22157,6 +22703,7 @@
opcode_t *
Parrot_div_p_n(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 375 "src/ops/math.ops"
VTABLE_i_divide_float(interp, PREG(1), NREG(2));
return (opcode_t *)cur_opcode + 3;}
@@ -22164,6 +22711,7 @@
opcode_t *
Parrot_div_p_nc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 375 "src/ops/math.ops"
VTABLE_i_divide_float(interp, PREG(1), CONST(2)->u.number);
return (opcode_t *)cur_opcode + 3;}
@@ -22171,6 +22719,7 @@
opcode_t *
Parrot_div_i_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 378 "src/ops/math.ops"
INTVAL den = IREG(3);
if (den == 0) {
opcode_t *handler = Parrot_ex_throw_from_op_args(interp, cur_opcode + 4,
@@ -22185,6 +22734,7 @@
opcode_t *
Parrot_div_i_ic_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 378 "src/ops/math.ops"
INTVAL den = IREG(3);
if (den == 0) {
opcode_t *handler = Parrot_ex_throw_from_op_args(interp, cur_opcode + 4,
@@ -22199,6 +22749,7 @@
opcode_t *
Parrot_div_i_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 378 "src/ops/math.ops"
INTVAL den = cur_opcode[3];
if (den == 0) {
opcode_t *handler = Parrot_ex_throw_from_op_args(interp, cur_opcode + 4,
@@ -22213,6 +22764,7 @@
opcode_t *
Parrot_div_i_ic_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 378 "src/ops/math.ops"
INTVAL den = cur_opcode[3];
if (den == 0) {
opcode_t *handler = Parrot_ex_throw_from_op_args(interp, cur_opcode + 4,
@@ -22227,6 +22779,7 @@
opcode_t *
Parrot_div_n_n_n(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 389 "src/ops/math.ops"
FLOATVAL den = NREG(3);
if (FLOAT_IS_ZERO(den)) {
opcode_t *handler = Parrot_ex_throw_from_op_args(interp, cur_opcode + 4,
@@ -22241,6 +22794,7 @@
opcode_t *
Parrot_div_n_nc_n(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 389 "src/ops/math.ops"
FLOATVAL den = NREG(3);
if (FLOAT_IS_ZERO(den)) {
opcode_t *handler = Parrot_ex_throw_from_op_args(interp, cur_opcode + 4,
@@ -22255,6 +22809,7 @@
opcode_t *
Parrot_div_n_n_nc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 389 "src/ops/math.ops"
FLOATVAL den = CONST(3)->u.number;
if (FLOAT_IS_ZERO(den)) {
opcode_t *handler = Parrot_ex_throw_from_op_args(interp, cur_opcode + 4,
@@ -22269,6 +22824,7 @@
opcode_t *
Parrot_div_n_nc_nc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 389 "src/ops/math.ops"
FLOATVAL den = CONST(3)->u.number;
if (FLOAT_IS_ZERO(den)) {
opcode_t *handler = Parrot_ex_throw_from_op_args(interp, cur_opcode + 4,
@@ -22283,6 +22839,7 @@
opcode_t *
Parrot_div_p_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 400 "src/ops/math.ops"
PREG(1) = VTABLE_divide(interp, PREG(2), PREG(3), PREG(1));
return (opcode_t *)cur_opcode + 4;}
@@ -22290,6 +22847,7 @@
opcode_t *
Parrot_div_p_p_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 404 "src/ops/math.ops"
PREG(1) = VTABLE_divide_int(interp, PREG(2), IREG(3), PREG(1));
return (opcode_t *)cur_opcode + 4;}
@@ -22297,6 +22855,7 @@
opcode_t *
Parrot_div_p_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 404 "src/ops/math.ops"
PREG(1) = VTABLE_divide_int(interp, PREG(2), cur_opcode[3], PREG(1));
return (opcode_t *)cur_opcode + 4;}
@@ -22304,6 +22863,7 @@
opcode_t *
Parrot_div_p_p_n(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 408 "src/ops/math.ops"
PREG(1) = VTABLE_divide_float(interp, PREG(2), NREG(3), PREG(1));
return (opcode_t *)cur_opcode + 4;}
@@ -22311,6 +22871,7 @@
opcode_t *
Parrot_div_p_p_nc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 408 "src/ops/math.ops"
PREG(1) = VTABLE_divide_float(interp, PREG(2), CONST(3)->u.number, PREG(1));
return (opcode_t *)cur_opcode + 4;}
@@ -22318,6 +22879,7 @@
opcode_t *
Parrot_fdiv_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 441 "src/ops/math.ops"
INTVAL den = IREG(2);
FLOATVAL f;
@@ -22336,6 +22898,7 @@
opcode_t *
Parrot_fdiv_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 441 "src/ops/math.ops"
INTVAL den = cur_opcode[2];
FLOATVAL f;
@@ -22354,6 +22917,7 @@
opcode_t *
Parrot_fdiv_n_n(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 456 "src/ops/math.ops"
FLOATVAL den = NREG(2);
if (FLOAT_IS_ZERO(den)) {
opcode_t *handler = Parrot_ex_throw_from_op_args(interp, cur_opcode + 3,
@@ -22368,6 +22932,7 @@
opcode_t *
Parrot_fdiv_n_nc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 456 "src/ops/math.ops"
FLOATVAL den = CONST(2)->u.number;
if (FLOAT_IS_ZERO(den)) {
opcode_t *handler = Parrot_ex_throw_from_op_args(interp, cur_opcode + 3,
@@ -22382,6 +22947,7 @@
opcode_t *
Parrot_fdiv_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 467 "src/ops/math.ops"
VTABLE_i_floor_divide(interp, PREG(1), PREG(2));
return (opcode_t *)cur_opcode + 3;}
@@ -22389,6 +22955,7 @@
opcode_t *
Parrot_fdiv_p_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 471 "src/ops/math.ops"
VTABLE_i_floor_divide_int(interp, PREG(1), IREG(2));
return (opcode_t *)cur_opcode + 3;}
@@ -22396,6 +22963,7 @@
opcode_t *
Parrot_fdiv_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 471 "src/ops/math.ops"
VTABLE_i_floor_divide_int(interp, PREG(1), cur_opcode[2]);
return (opcode_t *)cur_opcode + 3;}
@@ -22403,6 +22971,7 @@
opcode_t *
Parrot_fdiv_p_n(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 475 "src/ops/math.ops"
VTABLE_i_floor_divide_float(interp, PREG(1), NREG(2));
return (opcode_t *)cur_opcode + 3;}
@@ -22410,6 +22979,7 @@
opcode_t *
Parrot_fdiv_p_nc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 475 "src/ops/math.ops"
VTABLE_i_floor_divide_float(interp, PREG(1), CONST(2)->u.number);
return (opcode_t *)cur_opcode + 3;}
@@ -22417,6 +22987,7 @@
opcode_t *
Parrot_fdiv_i_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 479 "src/ops/math.ops"
INTVAL den = IREG(3);
FLOATVAL f;
@@ -22435,6 +23006,7 @@
opcode_t *
Parrot_fdiv_i_ic_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 479 "src/ops/math.ops"
INTVAL den = IREG(3);
FLOATVAL f;
@@ -22453,6 +23025,7 @@
opcode_t *
Parrot_fdiv_i_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 479 "src/ops/math.ops"
INTVAL den = cur_opcode[3];
FLOATVAL f;
@@ -22471,6 +23044,7 @@
opcode_t *
Parrot_fdiv_n_n_n(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 494 "src/ops/math.ops"
FLOATVAL den = NREG(3);
if (FLOAT_IS_ZERO(den)) {
opcode_t *handler = Parrot_ex_throw_from_op_args(interp, cur_opcode + 4,
@@ -22485,6 +23059,7 @@
opcode_t *
Parrot_fdiv_n_nc_n(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 494 "src/ops/math.ops"
FLOATVAL den = NREG(3);
if (FLOAT_IS_ZERO(den)) {
opcode_t *handler = Parrot_ex_throw_from_op_args(interp, cur_opcode + 4,
@@ -22499,6 +23074,7 @@
opcode_t *
Parrot_fdiv_n_n_nc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 494 "src/ops/math.ops"
FLOATVAL den = CONST(3)->u.number;
if (FLOAT_IS_ZERO(den)) {
opcode_t *handler = Parrot_ex_throw_from_op_args(interp, cur_opcode + 4,
@@ -22513,6 +23089,7 @@
opcode_t *
Parrot_fdiv_p_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 505 "src/ops/math.ops"
PREG(1) = VTABLE_floor_divide(interp, PREG(2), PREG(3), PREG(1));
return (opcode_t *)cur_opcode + 4;}
@@ -22520,6 +23097,7 @@
opcode_t *
Parrot_fdiv_p_p_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 509 "src/ops/math.ops"
PREG(1) = VTABLE_floor_divide_int(interp, PREG(2), IREG(3), PREG(1));
return (opcode_t *)cur_opcode + 4;}
@@ -22527,6 +23105,7 @@
opcode_t *
Parrot_fdiv_p_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 509 "src/ops/math.ops"
PREG(1) = VTABLE_floor_divide_int(interp, PREG(2), cur_opcode[3], PREG(1));
return (opcode_t *)cur_opcode + 4;}
@@ -22534,6 +23113,7 @@
opcode_t *
Parrot_fdiv_p_p_n(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 513 "src/ops/math.ops"
PREG(1) = VTABLE_floor_divide_float(interp, PREG(2), NREG(3), PREG(1));
return (opcode_t *)cur_opcode + 4;}
@@ -22541,6 +23121,7 @@
opcode_t *
Parrot_fdiv_p_p_nc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 513 "src/ops/math.ops"
PREG(1) = VTABLE_floor_divide_float(interp, PREG(2), CONST(3)->u.number, PREG(1));
return (opcode_t *)cur_opcode + 4;}
@@ -22548,6 +23129,7 @@
opcode_t *
Parrot_ceil_n(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 531 "src/ops/math.ops"
NREG(1) = ceil(NREG(1));
return (opcode_t *)cur_opcode + 2;}
@@ -22555,6 +23137,7 @@
opcode_t *
Parrot_ceil_i_n(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 535 "src/ops/math.ops"
FLOATVAL f = ceil(NREG(2));
IREG(1) = (INTVAL)f;
@@ -22563,6 +23146,7 @@
opcode_t *
Parrot_ceil_n_n(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 540 "src/ops/math.ops"
NREG(1) = ceil(NREG(2));
return (opcode_t *)cur_opcode + 3;}
@@ -22570,6 +23154,7 @@
opcode_t *
Parrot_floor_n(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 558 "src/ops/math.ops"
NREG(1) = floor(NREG(1));
return (opcode_t *)cur_opcode + 2;}
@@ -22577,6 +23162,7 @@
opcode_t *
Parrot_floor_i_n(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 562 "src/ops/math.ops"
FLOATVAL f = floor(NREG(2));
IREG(1) = (INTVAL)f;
@@ -22585,6 +23171,7 @@
opcode_t *
Parrot_floor_n_n(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 567 "src/ops/math.ops"
NREG(1) = floor(NREG(2));
return (opcode_t *)cur_opcode + 3;}
@@ -22592,6 +23179,7 @@
opcode_t *
Parrot_inc_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 583 "src/ops/math.ops"
IREG(1)++;
return (opcode_t *)cur_opcode + 2;}
@@ -22599,6 +23187,7 @@
opcode_t *
Parrot_inc_n(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 587 "src/ops/math.ops"
NREG(1)++;
return (opcode_t *)cur_opcode + 2;}
@@ -22606,6 +23195,7 @@
opcode_t *
Parrot_inc_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 591 "src/ops/math.ops"
VTABLE_increment(interp, PREG(1));
return (opcode_t *)cur_opcode + 2;}
@@ -22613,6 +23203,7 @@
opcode_t *
Parrot_mod_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 643 "src/ops/math.ops"
IREG(1) = intval_mod(IREG(1), IREG(2));
return (opcode_t *)cur_opcode + 3;}
@@ -22620,6 +23211,7 @@
opcode_t *
Parrot_mod_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 643 "src/ops/math.ops"
IREG(1) = intval_mod(IREG(1), cur_opcode[2]);
return (opcode_t *)cur_opcode + 3;}
@@ -22627,6 +23219,7 @@
opcode_t *
Parrot_mod_n_n(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 647 "src/ops/math.ops"
NREG(1) = floatval_mod(NREG(1), NREG(2));
return (opcode_t *)cur_opcode + 3;}
@@ -22634,6 +23227,7 @@
opcode_t *
Parrot_mod_n_nc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 647 "src/ops/math.ops"
NREG(1) = floatval_mod(NREG(1), CONST(2)->u.number);
return (opcode_t *)cur_opcode + 3;}
@@ -22641,6 +23235,7 @@
opcode_t *
Parrot_mod_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 651 "src/ops/math.ops"
VTABLE_i_modulus(interp, PREG(1), PREG(2));
return (opcode_t *)cur_opcode + 3;}
@@ -22648,6 +23243,7 @@
opcode_t *
Parrot_mod_p_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 655 "src/ops/math.ops"
VTABLE_i_modulus_int(interp, PREG(1), IREG(2));
return (opcode_t *)cur_opcode + 3;}
@@ -22655,6 +23251,7 @@
opcode_t *
Parrot_mod_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 655 "src/ops/math.ops"
VTABLE_i_modulus_int(interp, PREG(1), cur_opcode[2]);
return (opcode_t *)cur_opcode + 3;}
@@ -22662,6 +23259,7 @@
opcode_t *
Parrot_mod_p_n(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 659 "src/ops/math.ops"
VTABLE_i_modulus_float(interp, PREG(1), NREG(2));
return (opcode_t *)cur_opcode + 3;}
@@ -22669,6 +23267,7 @@
opcode_t *
Parrot_mod_p_nc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 659 "src/ops/math.ops"
VTABLE_i_modulus_float(interp, PREG(1), CONST(2)->u.number);
return (opcode_t *)cur_opcode + 3;}
@@ -22676,6 +23275,7 @@
opcode_t *
Parrot_mod_i_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 663 "src/ops/math.ops"
IREG(1) = intval_mod(IREG(2), IREG(3));
return (opcode_t *)cur_opcode + 4;}
@@ -22683,6 +23283,7 @@
opcode_t *
Parrot_mod_i_ic_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 663 "src/ops/math.ops"
IREG(1) = intval_mod(cur_opcode[2], IREG(3));
return (opcode_t *)cur_opcode + 4;}
@@ -22690,6 +23291,7 @@
opcode_t *
Parrot_mod_i_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 663 "src/ops/math.ops"
IREG(1) = intval_mod(IREG(2), cur_opcode[3]);
return (opcode_t *)cur_opcode + 4;}
@@ -22697,6 +23299,7 @@
opcode_t *
Parrot_mod_n_n_n(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 667 "src/ops/math.ops"
NREG(1) = floatval_mod(NREG(2), NREG(3));
return (opcode_t *)cur_opcode + 4;}
@@ -22704,6 +23307,7 @@
opcode_t *
Parrot_mod_n_nc_n(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 667 "src/ops/math.ops"
NREG(1) = floatval_mod(CONST(2)->u.number, NREG(3));
return (opcode_t *)cur_opcode + 4;}
@@ -22711,6 +23315,7 @@
opcode_t *
Parrot_mod_n_n_nc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 667 "src/ops/math.ops"
NREG(1) = floatval_mod(NREG(2), CONST(3)->u.number);
return (opcode_t *)cur_opcode + 4;}
@@ -22718,6 +23323,7 @@
opcode_t *
Parrot_mod_p_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 671 "src/ops/math.ops"
PREG(1) = VTABLE_modulus(interp, PREG(2), PREG(3), PREG(1));
return (opcode_t *)cur_opcode + 4;}
@@ -22725,6 +23331,7 @@
opcode_t *
Parrot_mod_p_p_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 675 "src/ops/math.ops"
PREG(1) = VTABLE_modulus_int(interp, PREG(2), IREG(3), PREG(1));
return (opcode_t *)cur_opcode + 4;}
@@ -22732,6 +23339,7 @@
opcode_t *
Parrot_mod_p_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 675 "src/ops/math.ops"
PREG(1) = VTABLE_modulus_int(interp, PREG(2), cur_opcode[3], PREG(1));
return (opcode_t *)cur_opcode + 4;}
@@ -22739,6 +23347,7 @@
opcode_t *
Parrot_mod_p_p_n(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 679 "src/ops/math.ops"
PREG(1) = VTABLE_modulus_float(interp, PREG(2), NREG(3), PREG(1));
return (opcode_t *)cur_opcode + 4;}
@@ -22746,6 +23355,7 @@
opcode_t *
Parrot_mod_p_p_nc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 679 "src/ops/math.ops"
PREG(1) = VTABLE_modulus_float(interp, PREG(2), CONST(3)->u.number, PREG(1));
return (opcode_t *)cur_opcode + 4;}
@@ -22753,6 +23363,7 @@
opcode_t *
Parrot_mul_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 711 "src/ops/math.ops"
IREG(1) *= IREG(2);
return (opcode_t *)cur_opcode + 3;}
@@ -22760,6 +23371,7 @@
opcode_t *
Parrot_mul_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 711 "src/ops/math.ops"
IREG(1) *= cur_opcode[2];
return (opcode_t *)cur_opcode + 3;}
@@ -22767,6 +23379,7 @@
opcode_t *
Parrot_mul_n_n(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 715 "src/ops/math.ops"
NREG(1) *= NREG(2);
return (opcode_t *)cur_opcode + 3;}
@@ -22774,6 +23387,7 @@
opcode_t *
Parrot_mul_n_nc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 715 "src/ops/math.ops"
NREG(1) *= CONST(2)->u.number;
return (opcode_t *)cur_opcode + 3;}
@@ -22781,6 +23395,7 @@
opcode_t *
Parrot_mul_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 719 "src/ops/math.ops"
VTABLE_i_multiply(interp, PREG(1), PREG(2));
return (opcode_t *)cur_opcode + 3;}
@@ -22788,6 +23403,7 @@
opcode_t *
Parrot_mul_p_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 723 "src/ops/math.ops"
VTABLE_i_multiply_int(interp, PREG(1), IREG(2));
return (opcode_t *)cur_opcode + 3;}
@@ -22795,6 +23411,7 @@
opcode_t *
Parrot_mul_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 723 "src/ops/math.ops"
VTABLE_i_multiply_int(interp, PREG(1), cur_opcode[2]);
return (opcode_t *)cur_opcode + 3;}
@@ -22802,6 +23419,7 @@
opcode_t *
Parrot_mul_p_n(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 727 "src/ops/math.ops"
VTABLE_i_multiply_float(interp, PREG(1), NREG(2));
return (opcode_t *)cur_opcode + 3;}
@@ -22809,6 +23427,7 @@
opcode_t *
Parrot_mul_p_nc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 727 "src/ops/math.ops"
VTABLE_i_multiply_float(interp, PREG(1), CONST(2)->u.number);
return (opcode_t *)cur_opcode + 3;}
@@ -22816,6 +23435,7 @@
opcode_t *
Parrot_mul_i_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 731 "src/ops/math.ops"
IREG(1) = IREG(2) * IREG(3);
return (opcode_t *)cur_opcode + 4;}
@@ -22823,6 +23443,7 @@
opcode_t *
Parrot_mul_i_ic_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 731 "src/ops/math.ops"
IREG(1) = cur_opcode[2] * IREG(3);
return (opcode_t *)cur_opcode + 4;}
@@ -22830,6 +23451,7 @@
opcode_t *
Parrot_mul_i_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 731 "src/ops/math.ops"
IREG(1) = IREG(2) * cur_opcode[3];
return (opcode_t *)cur_opcode + 4;}
@@ -22837,6 +23459,7 @@
opcode_t *
Parrot_mul_n_n_n(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 735 "src/ops/math.ops"
NREG(1) = NREG(2) * NREG(3);
return (opcode_t *)cur_opcode + 4;}
@@ -22844,6 +23467,7 @@
opcode_t *
Parrot_mul_n_nc_n(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 735 "src/ops/math.ops"
NREG(1) = CONST(2)->u.number * NREG(3);
return (opcode_t *)cur_opcode + 4;}
@@ -22851,6 +23475,7 @@
opcode_t *
Parrot_mul_n_n_nc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 735 "src/ops/math.ops"
NREG(1) = NREG(2) * CONST(3)->u.number;
return (opcode_t *)cur_opcode + 4;}
@@ -22858,6 +23483,7 @@
opcode_t *
Parrot_mul_p_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 739 "src/ops/math.ops"
PREG(1) = VTABLE_multiply(interp, PREG(2), PREG(3), PREG(1));
return (opcode_t *)cur_opcode + 4;}
@@ -22865,6 +23491,7 @@
opcode_t *
Parrot_mul_p_p_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 743 "src/ops/math.ops"
PREG(1) = VTABLE_multiply_int(interp, PREG(2), IREG(3), PREG(1));
return (opcode_t *)cur_opcode + 4;}
@@ -22872,6 +23499,7 @@
opcode_t *
Parrot_mul_p_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 743 "src/ops/math.ops"
PREG(1) = VTABLE_multiply_int(interp, PREG(2), cur_opcode[3], PREG(1));
return (opcode_t *)cur_opcode + 4;}
@@ -22879,6 +23507,7 @@
opcode_t *
Parrot_mul_p_p_n(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 747 "src/ops/math.ops"
PREG(1) = VTABLE_multiply_float(interp, PREG(2), NREG(3), PREG(1));
return (opcode_t *)cur_opcode + 4;}
@@ -22886,6 +23515,7 @@
opcode_t *
Parrot_mul_p_p_nc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 747 "src/ops/math.ops"
PREG(1) = VTABLE_multiply_float(interp, PREG(2), CONST(3)->u.number, PREG(1));
return (opcode_t *)cur_opcode + 4;}
@@ -22893,6 +23523,7 @@
opcode_t *
Parrot_neg_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 771 "src/ops/math.ops"
IREG(1) = - IREG(1);
return (opcode_t *)cur_opcode + 2;}
@@ -22900,6 +23531,7 @@
opcode_t *
Parrot_neg_n(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 775 "src/ops/math.ops"
NREG(1) = - NREG(1);
return (opcode_t *)cur_opcode + 2;}
@@ -22907,6 +23539,7 @@
opcode_t *
Parrot_neg_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 779 "src/ops/math.ops"
VTABLE_i_neg(interp, PREG(1));
return (opcode_t *)cur_opcode + 2;}
@@ -22914,6 +23547,7 @@
opcode_t *
Parrot_neg_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 783 "src/ops/math.ops"
IREG(1) = - IREG(2);
return (opcode_t *)cur_opcode + 3;}
@@ -22921,6 +23555,7 @@
opcode_t *
Parrot_neg_n_n(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 787 "src/ops/math.ops"
NREG(1) = - NREG(2);
return (opcode_t *)cur_opcode + 3;}
@@ -22928,6 +23563,7 @@
opcode_t *
Parrot_neg_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 791 "src/ops/math.ops"
PREG(1) = VTABLE_neg(interp, PREG(2), PREG(1));
return (opcode_t *)cur_opcode + 3;}
@@ -22935,6 +23571,7 @@
opcode_t *
Parrot_pow_n_n_n(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 811 "src/ops/math.ops"
NREG(1) = pow((FLOATVAL)NREG(2), (FLOATVAL)NREG(3));
return (opcode_t *)cur_opcode + 4;}
@@ -22942,6 +23579,7 @@
opcode_t *
Parrot_pow_n_nc_n(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 811 "src/ops/math.ops"
NREG(1) = pow((FLOATVAL)CONST(2)->u.number, (FLOATVAL)NREG(3));
return (opcode_t *)cur_opcode + 4;}
@@ -22949,6 +23587,7 @@
opcode_t *
Parrot_pow_n_n_nc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 811 "src/ops/math.ops"
NREG(1) = pow((FLOATVAL)NREG(2), (FLOATVAL)CONST(3)->u.number);
return (opcode_t *)cur_opcode + 4;}
@@ -22956,6 +23595,7 @@
opcode_t *
Parrot_pow_p_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 815 "src/ops/math.ops"
const FLOATVAL a = VTABLE_get_number(interp, PREG(2));
const FLOATVAL b = VTABLE_get_number(interp, PREG(3));
const FLOATVAL c = pow(a, b);
@@ -22970,6 +23610,7 @@
opcode_t *
Parrot_pow_p_p_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 826 "src/ops/math.ops"
const FLOATVAL a = VTABLE_get_number(interp, PREG(2));
const FLOATVAL b = (FLOATVAL)IREG(3);
const FLOATVAL c = pow(a, b);
@@ -22984,6 +23625,7 @@
opcode_t *
Parrot_pow_p_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 826 "src/ops/math.ops"
const FLOATVAL a = VTABLE_get_number(interp, PREG(2));
const FLOATVAL b = (FLOATVAL)cur_opcode[3];
const FLOATVAL c = pow(a, b);
@@ -22998,6 +23640,7 @@
opcode_t *
Parrot_pow_p_p_n(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 837 "src/ops/math.ops"
const FLOATVAL a = VTABLE_get_number(interp, PREG(2));
const FLOATVAL c = pow(a, NREG(3));
if (PMC_IS_NULL(PREG(1)))
@@ -23011,6 +23654,7 @@
opcode_t *
Parrot_pow_p_p_nc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 837 "src/ops/math.ops"
const FLOATVAL a = VTABLE_get_number(interp, PREG(2));
const FLOATVAL c = pow(a, CONST(3)->u.number);
if (PMC_IS_NULL(PREG(1)))
@@ -23024,6 +23668,7 @@
opcode_t *
Parrot_pow_n_n_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 847 "src/ops/math.ops"
FLOATVAL n2 = NREG(2);
FLOATVAL res = 1.0;
INTVAL e = IREG(3);
@@ -23051,6 +23696,7 @@
opcode_t *
Parrot_pow_n_nc_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 847 "src/ops/math.ops"
FLOATVAL n2 = CONST(2)->u.number;
FLOATVAL res = 1.0;
INTVAL e = IREG(3);
@@ -23078,6 +23724,7 @@
opcode_t *
Parrot_pow_n_n_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 847 "src/ops/math.ops"
FLOATVAL n2 = NREG(2);
FLOATVAL res = 1.0;
INTVAL e = cur_opcode[3];
@@ -23105,6 +23752,7 @@
opcode_t *
Parrot_pow_n_nc_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 847 "src/ops/math.ops"
FLOATVAL n2 = CONST(2)->u.number;
FLOATVAL res = 1.0;
INTVAL e = cur_opcode[3];
@@ -23132,6 +23780,7 @@
opcode_t *
Parrot_sub_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 899 "src/ops/math.ops"
IREG(1) -= IREG(2);
return (opcode_t *)cur_opcode + 3;}
@@ -23139,6 +23788,7 @@
opcode_t *
Parrot_sub_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 899 "src/ops/math.ops"
IREG(1) -= cur_opcode[2];
return (opcode_t *)cur_opcode + 3;}
@@ -23146,6 +23796,7 @@
opcode_t *
Parrot_sub_n_n(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 903 "src/ops/math.ops"
NREG(1) -= NREG(2);
return (opcode_t *)cur_opcode + 3;}
@@ -23153,6 +23804,7 @@
opcode_t *
Parrot_sub_n_nc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 903 "src/ops/math.ops"
NREG(1) -= CONST(2)->u.number;
return (opcode_t *)cur_opcode + 3;}
@@ -23160,6 +23812,7 @@
opcode_t *
Parrot_sub_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 907 "src/ops/math.ops"
VTABLE_i_subtract(interp, PREG(1), PREG(2));
return (opcode_t *)cur_opcode + 3;}
@@ -23167,6 +23820,7 @@
opcode_t *
Parrot_sub_p_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 911 "src/ops/math.ops"
VTABLE_i_subtract_int(interp, PREG(1), IREG(2));
return (opcode_t *)cur_opcode + 3;}
@@ -23174,6 +23828,7 @@
opcode_t *
Parrot_sub_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 911 "src/ops/math.ops"
VTABLE_i_subtract_int(interp, PREG(1), cur_opcode[2]);
return (opcode_t *)cur_opcode + 3;}
@@ -23181,6 +23836,7 @@
opcode_t *
Parrot_sub_p_n(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 915 "src/ops/math.ops"
VTABLE_i_subtract_float(interp, PREG(1), NREG(2));
return (opcode_t *)cur_opcode + 3;}
@@ -23188,6 +23844,7 @@
opcode_t *
Parrot_sub_p_nc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 915 "src/ops/math.ops"
VTABLE_i_subtract_float(interp, PREG(1), CONST(2)->u.number);
return (opcode_t *)cur_opcode + 3;}
@@ -23195,6 +23852,7 @@
opcode_t *
Parrot_sub_i_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 919 "src/ops/math.ops"
IREG(1) = IREG(2) - IREG(3);
return (opcode_t *)cur_opcode + 4;}
@@ -23202,6 +23860,7 @@
opcode_t *
Parrot_sub_i_ic_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 919 "src/ops/math.ops"
IREG(1) = cur_opcode[2] - IREG(3);
return (opcode_t *)cur_opcode + 4;}
@@ -23209,6 +23868,7 @@
opcode_t *
Parrot_sub_i_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 919 "src/ops/math.ops"
IREG(1) = IREG(2) - cur_opcode[3];
return (opcode_t *)cur_opcode + 4;}
@@ -23216,6 +23876,7 @@
opcode_t *
Parrot_sub_n_n_n(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 923 "src/ops/math.ops"
NREG(1) = NREG(2) - NREG(3);
return (opcode_t *)cur_opcode + 4;}
@@ -23223,6 +23884,7 @@
opcode_t *
Parrot_sub_n_nc_n(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 923 "src/ops/math.ops"
NREG(1) = CONST(2)->u.number - NREG(3);
return (opcode_t *)cur_opcode + 4;}
@@ -23230,6 +23892,7 @@
opcode_t *
Parrot_sub_n_n_nc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 923 "src/ops/math.ops"
NREG(1) = NREG(2) - CONST(3)->u.number;
return (opcode_t *)cur_opcode + 4;}
@@ -23237,6 +23900,7 @@
opcode_t *
Parrot_sub_p_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 927 "src/ops/math.ops"
PREG(1) = VTABLE_subtract(interp, PREG(2), PREG(3), PREG(1));
return (opcode_t *)cur_opcode + 4;}
@@ -23244,6 +23908,7 @@
opcode_t *
Parrot_sub_p_p_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 931 "src/ops/math.ops"
PREG(1) = VTABLE_subtract_int(interp, PREG(2), IREG(3), PREG(1));
return (opcode_t *)cur_opcode + 4;}
@@ -23251,6 +23916,7 @@
opcode_t *
Parrot_sub_p_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 931 "src/ops/math.ops"
PREG(1) = VTABLE_subtract_int(interp, PREG(2), cur_opcode[3], PREG(1));
return (opcode_t *)cur_opcode + 4;}
@@ -23258,6 +23924,7 @@
opcode_t *
Parrot_sub_p_p_n(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 935 "src/ops/math.ops"
PREG(1) = VTABLE_subtract_float(interp, PREG(2), NREG(3), PREG(1));
return (opcode_t *)cur_opcode + 4;}
@@ -23265,6 +23932,7 @@
opcode_t *
Parrot_sub_p_p_nc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 935 "src/ops/math.ops"
PREG(1) = VTABLE_subtract_float(interp, PREG(2), CONST(3)->u.number, PREG(1));
return (opcode_t *)cur_opcode + 4;}
@@ -23272,6 +23940,7 @@
opcode_t *
Parrot_sqrt_n_n(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 947 "src/ops/math.ops"
NREG(1) = sqrt((FLOATVAL)NREG(2));
return (opcode_t *)cur_opcode + 3;}
@@ -23279,6 +23948,7 @@
opcode_t *
Parrot_acos_n_n(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 976 "src/ops/math.ops"
NREG(1) = acos((FLOATVAL)NREG(2));
return (opcode_t *)cur_opcode + 3;}
@@ -23286,6 +23956,7 @@
opcode_t *
Parrot_asec_n_n(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 988 "src/ops/math.ops"
NREG(1) = acos(((FLOATVAL)1) / ((FLOATVAL)NREG(2)));
return (opcode_t *)cur_opcode + 3;}
@@ -23293,6 +23964,7 @@
opcode_t *
Parrot_asin_n_n(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 1001 "src/ops/math.ops"
NREG(1) = asin((FLOATVAL)NREG(2));
return (opcode_t *)cur_opcode + 3;}
@@ -23300,6 +23972,7 @@
opcode_t *
Parrot_atan_n_n(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 1019 "src/ops/math.ops"
NREG(1) = atan((FLOATVAL)NREG(2));
return (opcode_t *)cur_opcode + 3;}
@@ -23307,6 +23980,7 @@
opcode_t *
Parrot_atan_n_n_n(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 1023 "src/ops/math.ops"
NREG(1) = atan2((FLOATVAL)NREG(2), (FLOATVAL)NREG(3));
return (opcode_t *)cur_opcode + 4;}
@@ -23314,6 +23988,7 @@
opcode_t *
Parrot_atan_n_nc_n(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 1023 "src/ops/math.ops"
NREG(1) = atan2((FLOATVAL)CONST(2)->u.number, (FLOATVAL)NREG(3));
return (opcode_t *)cur_opcode + 4;}
@@ -23321,6 +23996,7 @@
opcode_t *
Parrot_atan_n_n_nc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 1023 "src/ops/math.ops"
NREG(1) = atan2((FLOATVAL)NREG(2), (FLOATVAL)CONST(3)->u.number);
return (opcode_t *)cur_opcode + 4;}
@@ -23328,6 +24004,7 @@
opcode_t *
Parrot_cos_n_n(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 1035 "src/ops/math.ops"
NREG(1) = cos((FLOATVAL)NREG(2));
return (opcode_t *)cur_opcode + 3;}
@@ -23335,6 +24012,7 @@
opcode_t *
Parrot_cosh_n_n(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 1047 "src/ops/math.ops"
NREG(1) = cosh((FLOATVAL)NREG(2));
return (opcode_t *)cur_opcode + 3;}
@@ -23342,6 +24020,7 @@
opcode_t *
Parrot_exp_n_n(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 1060 "src/ops/math.ops"
NREG(1) = exp((FLOATVAL)NREG(2));
return (opcode_t *)cur_opcode + 3;}
@@ -23349,6 +24028,7 @@
opcode_t *
Parrot_ln_n_n(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 1072 "src/ops/math.ops"
NREG(1) = log((FLOATVAL)NREG(2));
return (opcode_t *)cur_opcode + 3;}
@@ -23356,6 +24036,7 @@
opcode_t *
Parrot_log10_n_n(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 1084 "src/ops/math.ops"
NREG(1) = log10((FLOATVAL)NREG(2));
return (opcode_t *)cur_opcode + 3;}
@@ -23363,6 +24044,7 @@
opcode_t *
Parrot_log2_n_n(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 1096 "src/ops/math.ops"
FLOATVAL temp = log((FLOATVAL)2.0);
NREG(1) = log((FLOATVAL)NREG(2)) / temp;
@@ -23371,6 +24053,7 @@
opcode_t *
Parrot_sec_n_n(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 1109 "src/ops/math.ops"
NREG(1) = ((FLOATVAL)1) / cos((FLOATVAL)NREG(2));
return (opcode_t *)cur_opcode + 3;}
@@ -23378,6 +24061,7 @@
opcode_t *
Parrot_sech_n_n(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 1121 "src/ops/math.ops"
NREG(1) = ((FLOATVAL)1) / cosh((FLOATVAL)NREG(2));
return (opcode_t *)cur_opcode + 3;}
@@ -23385,6 +24069,7 @@
opcode_t *
Parrot_sin_n_n(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 1133 "src/ops/math.ops"
NREG(1) = sin((FLOATVAL)NREG(2));
return (opcode_t *)cur_opcode + 3;}
@@ -23392,6 +24077,7 @@
opcode_t *
Parrot_sinh_n_n(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 1145 "src/ops/math.ops"
NREG(1) = sinh((FLOATVAL)NREG(2));
return (opcode_t *)cur_opcode + 3;}
@@ -23399,6 +24085,7 @@
opcode_t *
Parrot_tan_n_n(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 1157 "src/ops/math.ops"
NREG(1) = tan((FLOATVAL)NREG(2));
return (opcode_t *)cur_opcode + 3;}
@@ -23406,6 +24093,7 @@
opcode_t *
Parrot_tanh_n_n(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 1169 "src/ops/math.ops"
NREG(1) = tanh((FLOATVAL)NREG(2));
return (opcode_t *)cur_opcode + 3;}
@@ -23413,6 +24101,7 @@
opcode_t *
Parrot_gcd_i_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 1195 "src/ops/math.ops"
INTVAL p = 0;
INTVAL a = IREG(2) < 0 ? -IREG(2) : IREG(2);
INTVAL b = IREG(3) < 0 ? -IREG(3) : IREG(3);
@@ -23440,6 +24129,7 @@
opcode_t *
Parrot_gcd_i_ic_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 1195 "src/ops/math.ops"
INTVAL p = 0;
INTVAL a = cur_opcode[2] < 0 ? -cur_opcode[2] : cur_opcode[2];
INTVAL b = IREG(3) < 0 ? -IREG(3) : IREG(3);
@@ -23467,6 +24157,7 @@
opcode_t *
Parrot_gcd_i_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 1195 "src/ops/math.ops"
INTVAL p = 0;
INTVAL a = IREG(2) < 0 ? -IREG(2) : IREG(2);
INTVAL b = cur_opcode[3] < 0 ? -cur_opcode[3] : cur_opcode[3];
@@ -23494,6 +24185,7 @@
opcode_t *
Parrot_lcm_i_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 1228 "src/ops/math.ops"
INTVAL gcd = 0;
INTVAL p = 0;
INTVAL a = IREG(2) < 0 ? -IREG(2) : IREG(2);
@@ -23524,6 +24216,7 @@
opcode_t *
Parrot_lcm_i_ic_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 1228 "src/ops/math.ops"
INTVAL gcd = 0;
INTVAL p = 0;
INTVAL a = cur_opcode[2] < 0 ? -cur_opcode[2] : cur_opcode[2];
@@ -23554,6 +24247,7 @@
opcode_t *
Parrot_lcm_i_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 1228 "src/ops/math.ops"
INTVAL gcd = 0;
INTVAL p = 0;
INTVAL a = IREG(2) < 0 ? -IREG(2) : IREG(2);
@@ -23584,6 +24278,7 @@
opcode_t *
Parrot_fact_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 1265 "src/ops/math.ops"
/* Coercing a negative to a UINT can get pretty ugly
* in this situation. */
INTVAL i = IREG(2);
@@ -23599,6 +24294,7 @@
opcode_t *
Parrot_fact_n_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 1277 "src/ops/math.ops"
/* Coercing a negative to a UINT can get pretty ugly
* in this situation. */
INTVAL i = IREG(2);
@@ -23614,6 +24310,7 @@
opcode_t *
Parrot_callmethodcc_p_s(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 50 "src/ops/object.ops"
PMC * const object = PREG(1);
STRING * const meth = SREG(2);
opcode_t * const next = cur_opcode + 3;
@@ -23649,6 +24346,7 @@
opcode_t *
Parrot_callmethodcc_p_sc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 50 "src/ops/object.ops"
PMC * const object = PREG(1);
STRING * const meth = CONST(2)->u.string;
opcode_t * const next = cur_opcode + 3;
@@ -23684,6 +24382,7 @@
opcode_t *
Parrot_callmethodcc_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 83 "src/ops/object.ops"
opcode_t *dest;
opcode_t * const next = cur_opcode + 3;
PMC * signature = Parrot_pcc_get_signature(interp,
@@ -23700,6 +24399,7 @@
opcode_t *
Parrot_callmethod_p_s_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 97 "src/ops/object.ops"
PMC * const object = PREG(1);
STRING * const meth = SREG(2);
opcode_t * const next = cur_opcode + 4;
@@ -23727,6 +24427,7 @@
opcode_t *
Parrot_callmethod_p_sc_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 97 "src/ops/object.ops"
PMC * const object = PREG(1);
STRING * const meth = CONST(2)->u.string;
opcode_t * const next = cur_opcode + 4;
@@ -23754,6 +24455,7 @@
opcode_t *
Parrot_callmethod_p_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 122 "src/ops/object.ops"
PMC * const object = PREG(1);
PMC * const method_pmc = PREG(2);
opcode_t * const next = cur_opcode + 4;
@@ -23772,6 +24474,7 @@
opcode_t *
Parrot_tailcallmethod_p_s(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 138 "src/ops/object.ops"
opcode_t * const next = cur_opcode + 3;
PMC * const object = PREG(1);
STRING * const meth = SREG(2);
@@ -23799,6 +24502,7 @@
opcode_t *
Parrot_tailcallmethod_p_sc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 138 "src/ops/object.ops"
opcode_t * const next = cur_opcode + 3;
PMC * const object = PREG(1);
STRING * const meth = CONST(2)->u.string;
@@ -23826,6 +24530,7 @@
opcode_t *
Parrot_tailcallmethod_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 163 "src/ops/object.ops"
opcode_t * const next = cur_opcode + 3;
PMC * const object = PREG(1);
PMC * const method_pmc = PREG(2);
@@ -23846,6 +24551,7 @@
opcode_t *
Parrot_addmethod_p_s_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 187 "src/ops/object.ops"
VTABLE_add_method(interp, PREG(1), SREG(2), PREG(3));
return (opcode_t *)cur_opcode + 4;}
@@ -23853,6 +24559,7 @@
opcode_t *
Parrot_addmethod_p_sc_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 187 "src/ops/object.ops"
VTABLE_add_method(interp, PREG(1), CONST(2)->u.string, PREG(3));
return (opcode_t *)cur_opcode + 4;}
@@ -23860,6 +24567,7 @@
opcode_t *
Parrot_can_i_p_s(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 199 "src/ops/object.ops"
IREG(1) = VTABLE_can(interp, PREG(2), SREG(3));
return (opcode_t *)cur_opcode + 4;}
@@ -23867,6 +24575,7 @@
opcode_t *
Parrot_can_i_p_sc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 199 "src/ops/object.ops"
IREG(1) = VTABLE_can(interp, PREG(2), CONST(3)->u.string);
return (opcode_t *)cur_opcode + 4;}
@@ -23874,6 +24583,7 @@
opcode_t *
Parrot_does_i_p_s(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 211 "src/ops/object.ops"
IREG(1) = SREG(3) ? VTABLE_does(interp, PREG(2), SREG(3)) : 0;
return (opcode_t *)cur_opcode + 4;}
@@ -23881,6 +24591,7 @@
opcode_t *
Parrot_does_i_p_sc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 211 "src/ops/object.ops"
IREG(1) = CONST(3)->u.string ? VTABLE_does(interp, PREG(2), CONST(3)->u.string) : 0;
return (opcode_t *)cur_opcode + 4;}
@@ -23888,6 +24599,7 @@
opcode_t *
Parrot_does_i_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 222 "src/ops/object.ops"
IREG(1) = PREG(3) ? VTABLE_does_pmc(interp, PREG(2), PREG(3)) : 0;
return (opcode_t *)cur_opcode + 4;}
@@ -23895,6 +24607,7 @@
opcode_t *
Parrot_does_i_p_pc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 222 "src/ops/object.ops"
IREG(1) = CONST(3)->u.key ? VTABLE_does_pmc(interp, PREG(2), CONST(3)->u.key) : 0;
return (opcode_t *)cur_opcode + 4;}
@@ -23902,6 +24615,7 @@
opcode_t *
Parrot_isa_i_p_s(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 235 "src/ops/object.ops"
IREG(1) = SREG(3) ? VTABLE_isa(interp, PREG(2), SREG(3)) : 0;
return (opcode_t *)cur_opcode + 4;}
@@ -23909,6 +24623,7 @@
opcode_t *
Parrot_isa_i_p_sc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 235 "src/ops/object.ops"
IREG(1) = CONST(3)->u.string ? VTABLE_isa(interp, PREG(2), CONST(3)->u.string) : 0;
return (opcode_t *)cur_opcode + 4;}
@@ -23916,6 +24631,7 @@
opcode_t *
Parrot_isa_i_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 239 "src/ops/object.ops"
IREG(1) = PREG(3) ? VTABLE_isa_pmc(interp, PREG(2), PREG(3)) : 0;
return (opcode_t *)cur_opcode + 4;}
@@ -23923,6 +24639,7 @@
opcode_t *
Parrot_isa_i_p_pc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 239 "src/ops/object.ops"
IREG(1) = CONST(3)->u.key ? VTABLE_isa_pmc(interp, PREG(2), CONST(3)->u.key) : 0;
return (opcode_t *)cur_opcode + 4;}
@@ -23930,6 +24647,7 @@
opcode_t *
Parrot_newclass_p_s(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 257 "src/ops/object.ops"
PMC * const name = Parrot_pmc_new(interp, enum_class_String);
VTABLE_set_string_native(interp, name, SREG(2));
PREG(1) = Parrot_pmc_new_init(interp, enum_class_Class, name);
@@ -23939,6 +24657,7 @@
opcode_t *
Parrot_newclass_p_sc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 257 "src/ops/object.ops"
PMC * const name = Parrot_pmc_new(interp, enum_class_String);
VTABLE_set_string_native(interp, name, CONST(2)->u.string);
PREG(1) = Parrot_pmc_new_init(interp, enum_class_Class, name);
@@ -23948,6 +24667,7 @@
opcode_t *
Parrot_newclass_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 263 "src/ops/object.ops"
PREG(1) = Parrot_pmc_new_init(interp, enum_class_Class, PREG(2));
return (opcode_t *)cur_opcode + 3;}
@@ -23955,6 +24675,7 @@
opcode_t *
Parrot_newclass_p_pc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 263 "src/ops/object.ops"
PREG(1) = Parrot_pmc_new_init(interp, enum_class_Class, CONST(2)->u.key);
return (opcode_t *)cur_opcode + 3;}
@@ -23962,6 +24683,7 @@
opcode_t *
Parrot_subclass_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 279 "src/ops/object.ops"
PMC * const parent_class = Parrot_oo_get_class(interp, PREG(2));
opcode_t * const next = cur_opcode + 3;
@@ -23979,6 +24701,7 @@
opcode_t *
Parrot_subclass_p_pc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 279 "src/ops/object.ops"
PMC * const parent_class = Parrot_oo_get_class(interp, CONST(2)->u.key);
opcode_t * const next = cur_opcode + 3;
@@ -23996,6 +24719,7 @@
opcode_t *
Parrot_subclass_p_p_s(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 294 "src/ops/object.ops"
PMC * const parent_class = Parrot_oo_get_class(interp, PREG(2));
opcode_t * const next = cur_opcode + 4;
@@ -24013,6 +24737,7 @@
opcode_t *
Parrot_subclass_p_pc_s(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 294 "src/ops/object.ops"
PMC * const parent_class = Parrot_oo_get_class(interp, CONST(2)->u.key);
opcode_t * const next = cur_opcode + 4;
@@ -24030,6 +24755,7 @@
opcode_t *
Parrot_subclass_p_p_sc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 294 "src/ops/object.ops"
PMC * const parent_class = Parrot_oo_get_class(interp, PREG(2));
opcode_t * const next = cur_opcode + 4;
@@ -24047,6 +24773,7 @@
opcode_t *
Parrot_subclass_p_pc_sc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 294 "src/ops/object.ops"
PMC * const parent_class = Parrot_oo_get_class(interp, CONST(2)->u.key);
opcode_t * const next = cur_opcode + 4;
@@ -24064,6 +24791,7 @@
opcode_t *
Parrot_subclass_p_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 309 "src/ops/object.ops"
PMC * const parent_class = Parrot_oo_get_class(interp, PREG(2));
opcode_t * const next = cur_opcode + 4;
@@ -24081,6 +24809,7 @@
opcode_t *
Parrot_subclass_p_pc_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 309 "src/ops/object.ops"
PMC * const parent_class = Parrot_oo_get_class(interp, CONST(2)->u.key);
opcode_t * const next = cur_opcode + 4;
@@ -24098,6 +24827,7 @@
opcode_t *
Parrot_subclass_p_p_pc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 309 "src/ops/object.ops"
PMC * const parent_class = Parrot_oo_get_class(interp, PREG(2));
opcode_t * const next = cur_opcode + 4;
@@ -24115,6 +24845,7 @@
opcode_t *
Parrot_subclass_p_pc_pc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 309 "src/ops/object.ops"
PMC * const parent_class = Parrot_oo_get_class(interp, CONST(2)->u.key);
opcode_t * const next = cur_opcode + 4;
@@ -24132,6 +24863,7 @@
opcode_t *
Parrot_subclass_p_s(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 337 "src/ops/object.ops"
PMC * const parent_class = Parrot_oo_get_class_str(interp, SREG(2));
opcode_t * const next = cur_opcode + 3;
@@ -24150,6 +24882,7 @@
opcode_t *
Parrot_subclass_p_sc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 337 "src/ops/object.ops"
PMC * const parent_class = Parrot_oo_get_class_str(interp, CONST(2)->u.string);
opcode_t * const next = cur_opcode + 3;
@@ -24168,6 +24901,7 @@
opcode_t *
Parrot_subclass_p_s_s(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 353 "src/ops/object.ops"
PMC * const parent_class = Parrot_oo_get_class_str(interp, SREG(2));
opcode_t * const next = cur_opcode + 4;
@@ -24186,6 +24920,7 @@
opcode_t *
Parrot_subclass_p_sc_s(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 353 "src/ops/object.ops"
PMC * const parent_class = Parrot_oo_get_class_str(interp, CONST(2)->u.string);
opcode_t * const next = cur_opcode + 4;
@@ -24204,6 +24939,7 @@
opcode_t *
Parrot_subclass_p_s_sc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 353 "src/ops/object.ops"
PMC * const parent_class = Parrot_oo_get_class_str(interp, SREG(2));
opcode_t * const next = cur_opcode + 4;
@@ -24222,6 +24958,7 @@
opcode_t *
Parrot_subclass_p_sc_sc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 353 "src/ops/object.ops"
PMC * const parent_class = Parrot_oo_get_class_str(interp, CONST(2)->u.string);
opcode_t * const next = cur_opcode + 4;
@@ -24240,6 +24977,7 @@
opcode_t *
Parrot_subclass_p_s_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 369 "src/ops/object.ops"
PMC * const parent_class = Parrot_oo_get_class_str(interp, SREG(2));
opcode_t * const next = cur_opcode + 4;
@@ -24258,6 +24996,7 @@
opcode_t *
Parrot_subclass_p_sc_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 369 "src/ops/object.ops"
PMC * const parent_class = Parrot_oo_get_class_str(interp, CONST(2)->u.string);
opcode_t * const next = cur_opcode + 4;
@@ -24276,6 +25015,7 @@
opcode_t *
Parrot_subclass_p_s_pc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 369 "src/ops/object.ops"
PMC * const parent_class = Parrot_oo_get_class_str(interp, SREG(2));
opcode_t * const next = cur_opcode + 4;
@@ -24294,6 +25034,7 @@
opcode_t *
Parrot_subclass_p_sc_pc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 369 "src/ops/object.ops"
PMC * const parent_class = Parrot_oo_get_class_str(interp, CONST(2)->u.string);
opcode_t * const next = cur_opcode + 4;
@@ -24312,6 +25053,7 @@
opcode_t *
Parrot_get_class_p_s(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 395 "src/ops/object.ops"
PREG(1) = Parrot_oo_get_class_str(interp, SREG(2));
return (opcode_t *)cur_opcode + 3;}
@@ -24319,6 +25061,7 @@
opcode_t *
Parrot_get_class_p_sc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 395 "src/ops/object.ops"
PREG(1) = Parrot_oo_get_class_str(interp, CONST(2)->u.string);
return (opcode_t *)cur_opcode + 3;}
@@ -24326,6 +25069,7 @@
opcode_t *
Parrot_get_class_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 399 "src/ops/object.ops"
PREG(1) = Parrot_oo_get_class(interp, PREG(2));
return (opcode_t *)cur_opcode + 3;}
@@ -24333,6 +25077,7 @@
opcode_t *
Parrot_get_class_p_pc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 399 "src/ops/object.ops"
PREG(1) = Parrot_oo_get_class(interp, CONST(2)->u.key);
return (opcode_t *)cur_opcode + 3;}
@@ -24340,6 +25085,7 @@
opcode_t *
Parrot_class_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 411 "src/ops/object.ops"
PREG(1) = VTABLE_get_class(interp, PREG(2));
return (opcode_t *)cur_opcode + 3;}
@@ -24347,6 +25093,7 @@
opcode_t *
Parrot_addparent_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 424 "src/ops/object.ops"
VTABLE_add_parent(interp, PREG(1), PREG(2));
return (opcode_t *)cur_opcode + 3;}
@@ -24354,6 +25101,7 @@
opcode_t *
Parrot_removeparent_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 434 "src/ops/object.ops"
VTABLE_remove_parent(interp, PREG(1), PREG(2));
return (opcode_t *)cur_opcode + 3;}
@@ -24361,6 +25109,7 @@
opcode_t *
Parrot_addrole_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 444 "src/ops/object.ops"
VTABLE_add_role(interp, PREG(1), PREG(2));
return (opcode_t *)cur_opcode + 3;}
@@ -24368,6 +25117,7 @@
opcode_t *
Parrot_addattribute_p_s(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 454 "src/ops/object.ops"
STRING * const class_name = string_from_literal(interp, "Class");
STRING * const role_name = string_from_literal(interp, "Role");
@@ -24385,6 +25135,7 @@
opcode_t *
Parrot_addattribute_p_sc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 454 "src/ops/object.ops"
STRING * const class_name = string_from_literal(interp, "Class");
STRING * const role_name = string_from_literal(interp, "Role");
@@ -24402,6 +25153,7 @@
opcode_t *
Parrot_removeattribute_p_s(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 474 "src/ops/object.ops"
VTABLE_remove_attribute(interp, PREG(1), SREG(2));
return (opcode_t *)cur_opcode + 3;}
@@ -24409,6 +25161,7 @@
opcode_t *
Parrot_removeattribute_p_sc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 474 "src/ops/object.ops"
VTABLE_remove_attribute(interp, PREG(1), CONST(2)->u.string);
return (opcode_t *)cur_opcode + 3;}
@@ -24416,6 +25169,7 @@
opcode_t *
Parrot_getattribute_p_p_s(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 491 "src/ops/object.ops"
PREG(1) = VTABLE_get_attr_str(interp, PREG(2), SREG(3));
return (opcode_t *)cur_opcode + 4;}
@@ -24423,6 +25177,7 @@
opcode_t *
Parrot_getattribute_p_p_sc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 491 "src/ops/object.ops"
PREG(1) = VTABLE_get_attr_str(interp, PREG(2), CONST(3)->u.string);
return (opcode_t *)cur_opcode + 4;}
@@ -24430,6 +25185,7 @@
opcode_t *
Parrot_getattribute_p_p_p_s(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 495 "src/ops/object.ops"
PREG(1) = VTABLE_get_attr_keyed(interp, PREG(2), PREG(3), SREG(4));
return (opcode_t *)cur_opcode + 5;}
@@ -24437,6 +25193,7 @@
opcode_t *
Parrot_getattribute_p_p_pc_s(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 495 "src/ops/object.ops"
PREG(1) = VTABLE_get_attr_keyed(interp, PREG(2), CONST(3)->u.key, SREG(4));
return (opcode_t *)cur_opcode + 5;}
@@ -24444,6 +25201,7 @@
opcode_t *
Parrot_getattribute_p_p_p_sc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 495 "src/ops/object.ops"
PREG(1) = VTABLE_get_attr_keyed(interp, PREG(2), PREG(3), CONST(4)->u.string);
return (opcode_t *)cur_opcode + 5;}
@@ -24451,6 +25209,7 @@
opcode_t *
Parrot_getattribute_p_p_pc_sc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 495 "src/ops/object.ops"
PREG(1) = VTABLE_get_attr_keyed(interp, PREG(2), CONST(3)->u.key, CONST(4)->u.string);
return (opcode_t *)cur_opcode + 5;}
@@ -24458,6 +25217,7 @@
opcode_t *
Parrot_setattribute_p_s_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 511 "src/ops/object.ops"
VTABLE_set_attr_str(interp, PREG(1), SREG(2), PREG(3));
return (opcode_t *)cur_opcode + 4;}
@@ -24465,6 +25225,7 @@
opcode_t *
Parrot_setattribute_p_sc_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 511 "src/ops/object.ops"
VTABLE_set_attr_str(interp, PREG(1), CONST(2)->u.string, PREG(3));
return (opcode_t *)cur_opcode + 4;}
@@ -24472,6 +25233,7 @@
opcode_t *
Parrot_setattribute_p_p_s_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 515 "src/ops/object.ops"
VTABLE_set_attr_keyed(interp, PREG(1), PREG(2), SREG(3), PREG(4));
return (opcode_t *)cur_opcode + 5;}
@@ -24479,6 +25241,7 @@
opcode_t *
Parrot_setattribute_p_pc_s_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 515 "src/ops/object.ops"
VTABLE_set_attr_keyed(interp, PREG(1), CONST(2)->u.key, SREG(3), PREG(4));
return (opcode_t *)cur_opcode + 5;}
@@ -24486,6 +25249,7 @@
opcode_t *
Parrot_setattribute_p_p_sc_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 515 "src/ops/object.ops"
VTABLE_set_attr_keyed(interp, PREG(1), PREG(2), CONST(3)->u.string, PREG(4));
return (opcode_t *)cur_opcode + 5;}
@@ -24493,6 +25257,7 @@
opcode_t *
Parrot_setattribute_p_pc_sc_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 515 "src/ops/object.ops"
VTABLE_set_attr_keyed(interp, PREG(1), CONST(2)->u.key, CONST(3)->u.string, PREG(4));
return (opcode_t *)cur_opcode + 5;}
@@ -24500,6 +25265,7 @@
opcode_t *
Parrot_inspect_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 533 "src/ops/object.ops"
PREG(1) = VTABLE_inspect(interp, PREG(2));
return (opcode_t *)cur_opcode + 3;}
@@ -24507,6 +25273,7 @@
opcode_t *
Parrot_inspect_p_pc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 533 "src/ops/object.ops"
PREG(1) = VTABLE_inspect(interp, CONST(2)->u.key);
return (opcode_t *)cur_opcode + 3;}
@@ -24514,6 +25281,7 @@
opcode_t *
Parrot_inspect_p_p_s(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 537 "src/ops/object.ops"
PREG(1) = VTABLE_inspect_str(interp, PREG(2), SREG(3));
return (opcode_t *)cur_opcode + 4;}
@@ -24521,6 +25289,7 @@
opcode_t *
Parrot_inspect_p_pc_s(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 537 "src/ops/object.ops"
PREG(1) = VTABLE_inspect_str(interp, CONST(2)->u.key, SREG(3));
return (opcode_t *)cur_opcode + 4;}
@@ -24528,6 +25297,7 @@
opcode_t *
Parrot_inspect_p_p_sc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 537 "src/ops/object.ops"
PREG(1) = VTABLE_inspect_str(interp, PREG(2), CONST(3)->u.string);
return (opcode_t *)cur_opcode + 4;}
@@ -24535,6 +25305,7 @@
opcode_t *
Parrot_inspect_p_pc_sc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 537 "src/ops/object.ops"
PREG(1) = VTABLE_inspect_str(interp, CONST(2)->u.key, CONST(3)->u.string);
return (opcode_t *)cur_opcode + 4;}
@@ -24542,6 +25313,7 @@
opcode_t *
Parrot_new_p_s(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 53 "src/ops/pmc.ops"
STRING * const name = SREG(2);
PMC * const _class = Parrot_pcc_get_HLL(interp, CURRENT_CONTEXT(interp))
? Parrot_oo_get_class_str(interp, name)
@@ -24565,6 +25337,7 @@
opcode_t *
Parrot_new_p_sc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 53 "src/ops/pmc.ops"
STRING * const name = CONST(2)->u.string;
PMC * const _class = Parrot_pcc_get_HLL(interp, CURRENT_CONTEXT(interp))
? Parrot_oo_get_class_str(interp, name)
@@ -24588,6 +25361,7 @@
opcode_t *
Parrot_new_p_s_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 73 "src/ops/pmc.ops"
STRING * const name = SREG(2);
PMC * const _class = Parrot_pcc_get_HLL(interp, CURRENT_CONTEXT(interp))
? Parrot_oo_get_class_str(interp, name)
@@ -24611,6 +25385,7 @@
opcode_t *
Parrot_new_p_sc_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 73 "src/ops/pmc.ops"
STRING * const name = CONST(2)->u.string;
PMC * const _class = Parrot_pcc_get_HLL(interp, CURRENT_CONTEXT(interp))
? Parrot_oo_get_class_str(interp, name)
@@ -24634,6 +25409,7 @@
opcode_t *
Parrot_new_p_s_pc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 73 "src/ops/pmc.ops"
STRING * const name = SREG(2);
PMC * const _class = Parrot_pcc_get_HLL(interp, CURRENT_CONTEXT(interp))
? Parrot_oo_get_class_str(interp, name)
@@ -24657,6 +25433,7 @@
opcode_t *
Parrot_new_p_sc_pc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 73 "src/ops/pmc.ops"
STRING * const name = CONST(2)->u.string;
PMC * const _class = Parrot_pcc_get_HLL(interp, CURRENT_CONTEXT(interp))
? Parrot_oo_get_class_str(interp, name)
@@ -24680,6 +25457,7 @@
opcode_t *
Parrot_new_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 93 "src/ops/pmc.ops"
PMC * const name_key = PREG(2);
PMC * const _class = Parrot_oo_get_class(interp, name_key);
@@ -24701,6 +25479,7 @@
opcode_t *
Parrot_new_p_pc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 93 "src/ops/pmc.ops"
PMC * const name_key = CONST(2)->u.key;
PMC * const _class = Parrot_oo_get_class(interp, name_key);
@@ -24722,6 +25501,7 @@
opcode_t *
Parrot_new_p_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 111 "src/ops/pmc.ops"
PMC * const name_key = PREG(2);
PMC * const _class = Parrot_oo_get_class(interp, name_key);
@@ -24743,6 +25523,7 @@
opcode_t *
Parrot_new_p_pc_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 111 "src/ops/pmc.ops"
PMC * const name_key = CONST(2)->u.key;
PMC * const _class = Parrot_oo_get_class(interp, name_key);
@@ -24764,6 +25545,7 @@
opcode_t *
Parrot_new_p_p_pc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 111 "src/ops/pmc.ops"
PMC * const name_key = PREG(2);
PMC * const _class = Parrot_oo_get_class(interp, name_key);
@@ -24785,6 +25567,7 @@
opcode_t *
Parrot_new_p_pc_pc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 111 "src/ops/pmc.ops"
PMC * const name_key = CONST(2)->u.key;
PMC * const _class = Parrot_oo_get_class(interp, name_key);
@@ -24806,6 +25589,7 @@
opcode_t *
Parrot_root_new_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 144 "src/ops/pmc.ops"
PMC * const key = PREG(2);
PMC * const root_ns = interp->root_namespace;
PMC * const ns = Parrot_get_namespace_keyed(interp, root_ns, key);
@@ -24827,6 +25611,7 @@
opcode_t *
Parrot_root_new_p_pc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 144 "src/ops/pmc.ops"
PMC * const key = CONST(2)->u.key;
PMC * const root_ns = interp->root_namespace;
PMC * const ns = Parrot_get_namespace_keyed(interp, root_ns, key);
@@ -24848,6 +25633,7 @@
opcode_t *
Parrot_root_new_p_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 162 "src/ops/pmc.ops"
PMC * const key = PREG(2);
PMC * const root_ns = interp->root_namespace;
PMC * const ns = Parrot_get_namespace_keyed(interp, root_ns, key);
@@ -24869,6 +25655,7 @@
opcode_t *
Parrot_root_new_p_pc_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 162 "src/ops/pmc.ops"
PMC * const key = CONST(2)->u.key;
PMC * const root_ns = interp->root_namespace;
PMC * const ns = Parrot_get_namespace_keyed(interp, root_ns, key);
@@ -24890,6 +25677,7 @@
opcode_t *
Parrot_root_new_p_p_pc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 162 "src/ops/pmc.ops"
PMC * const key = PREG(2);
PMC * const root_ns = interp->root_namespace;
PMC * const ns = Parrot_get_namespace_keyed(interp, root_ns, key);
@@ -24911,6 +25699,7 @@
opcode_t *
Parrot_root_new_p_pc_pc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 162 "src/ops/pmc.ops"
PMC * const key = CONST(2)->u.key;
PMC * const root_ns = interp->root_namespace;
PMC * const ns = Parrot_get_namespace_keyed(interp, root_ns, key);
@@ -24932,6 +25721,7 @@
opcode_t *
Parrot_typeof_s_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 191 "src/ops/pmc.ops"
SREG(1) = VTABLE_name(interp, PREG(2));
return (opcode_t *)cur_opcode + 3;}
@@ -24939,6 +25729,7 @@
opcode_t *
Parrot_typeof_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 195 "src/ops/pmc.ops"
PREG(1) = VTABLE_get_class(interp, PREG(2));
return (opcode_t *)cur_opcode + 3;}
@@ -24946,6 +25737,7 @@
opcode_t *
Parrot_get_repr_s_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 207 "src/ops/pmc.ops"
SREG(1) = VTABLE_get_repr(interp, PREG(2));
return (opcode_t *)cur_opcode + 3;}
@@ -24953,6 +25745,7 @@
opcode_t *
Parrot_find_method_p_p_s(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 234 "src/ops/pmc.ops"
opcode_t * const resume = cur_opcode + 4;
PREG(1) = VTABLE_find_method(interp, PREG(2), SREG(3));
if (PMC_IS_NULL(PREG(1)) || !VTABLE_defined(interp, PREG(1))) {
@@ -24968,6 +25761,7 @@
opcode_t *
Parrot_find_method_p_p_sc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 234 "src/ops/pmc.ops"
opcode_t * const resume = cur_opcode + 4;
PREG(1) = VTABLE_find_method(interp, PREG(2), CONST(3)->u.string);
if (PMC_IS_NULL(PREG(1)) || !VTABLE_defined(interp, PREG(1))) {
@@ -24983,6 +25777,7 @@
opcode_t *
Parrot_defined_i_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 266 "src/ops/pmc.ops"
IREG(1) = PMC_IS_NULL(PREG(2)) ? 0 : VTABLE_defined(interp, PREG(2));
return (opcode_t *)cur_opcode + 3;}
@@ -24990,6 +25785,7 @@
opcode_t *
Parrot_defined_i_p_ki(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 270 "src/ops/pmc.ops"
IREG(1) = PMC_IS_NULL(PREG(2)) ? 0 : VTABLE_defined_keyed_int(interp, PREG(2), IREG(3));
return (opcode_t *)cur_opcode + 4;}
@@ -24997,6 +25793,7 @@
opcode_t *
Parrot_defined_i_p_kic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 270 "src/ops/pmc.ops"
IREG(1) = PMC_IS_NULL(PREG(2)) ? 0 : VTABLE_defined_keyed_int(interp, PREG(2), cur_opcode[3]);
return (opcode_t *)cur_opcode + 4;}
@@ -25004,6 +25801,7 @@
opcode_t *
Parrot_defined_i_p_k(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 274 "src/ops/pmc.ops"
IREG(1) = PMC_IS_NULL(PREG(2)) ? 0 : VTABLE_defined_keyed(interp, PREG(2), PREG(3));
return (opcode_t *)cur_opcode + 4;}
@@ -25011,6 +25809,7 @@
opcode_t *
Parrot_defined_i_p_kc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 274 "src/ops/pmc.ops"
IREG(1) = PMC_IS_NULL(PREG(2)) ? 0 : VTABLE_defined_keyed(interp, PREG(2), CONST(3)->u.key);
return (opcode_t *)cur_opcode + 4;}
@@ -25018,6 +25817,7 @@
opcode_t *
Parrot_exists_i_p_ki(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 278 "src/ops/pmc.ops"
IREG(1) = PMC_IS_NULL(PREG(2)) ? 0 : VTABLE_exists_keyed_int(interp, PREG(2), IREG(3));
return (opcode_t *)cur_opcode + 4;}
@@ -25025,6 +25825,7 @@
opcode_t *
Parrot_exists_i_p_kic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 278 "src/ops/pmc.ops"
IREG(1) = PMC_IS_NULL(PREG(2)) ? 0 : VTABLE_exists_keyed_int(interp, PREG(2), cur_opcode[3]);
return (opcode_t *)cur_opcode + 4;}
@@ -25032,6 +25833,7 @@
opcode_t *
Parrot_exists_i_p_k(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 282 "src/ops/pmc.ops"
IREG(1) = PMC_IS_NULL(PREG(2)) ? 0: VTABLE_exists_keyed(interp, PREG(2), PREG(3));
return (opcode_t *)cur_opcode + 4;}
@@ -25039,6 +25841,7 @@
opcode_t *
Parrot_exists_i_p_kc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 282 "src/ops/pmc.ops"
IREG(1) = PMC_IS_NULL(PREG(2)) ? 0: VTABLE_exists_keyed(interp, PREG(2), CONST(3)->u.key);
return (opcode_t *)cur_opcode + 4;}
@@ -25046,6 +25849,7 @@
opcode_t *
Parrot_delete_p_k(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 296 "src/ops/pmc.ops"
VTABLE_delete_keyed(interp, PREG(1), PREG(2));
return (opcode_t *)cur_opcode + 3;}
@@ -25053,6 +25857,7 @@
opcode_t *
Parrot_delete_p_kc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 296 "src/ops/pmc.ops"
VTABLE_delete_keyed(interp, PREG(1), CONST(2)->u.key);
return (opcode_t *)cur_opcode + 3;}
@@ -25060,6 +25865,7 @@
opcode_t *
Parrot_delete_p_ki(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 300 "src/ops/pmc.ops"
VTABLE_delete_keyed_int(interp, PREG(1), IREG(2));
return (opcode_t *)cur_opcode + 3;}
@@ -25067,6 +25873,7 @@
opcode_t *
Parrot_delete_p_kic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 300 "src/ops/pmc.ops"
VTABLE_delete_keyed_int(interp, PREG(1), cur_opcode[2]);
return (opcode_t *)cur_opcode + 3;}
@@ -25074,6 +25881,7 @@
opcode_t *
Parrot_elements_i_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 312 "src/ops/pmc.ops"
IREG(1) = VTABLE_elements(interp, PREG(2));
return (opcode_t *)cur_opcode + 3;}
@@ -25081,6 +25889,7 @@
opcode_t *
Parrot_push_p_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 344 "src/ops/pmc.ops"
VTABLE_push_integer(interp, PREG(1), IREG(2));
return (opcode_t *)cur_opcode + 3;}
@@ -25088,6 +25897,7 @@
opcode_t *
Parrot_push_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 344 "src/ops/pmc.ops"
VTABLE_push_integer(interp, PREG(1), cur_opcode[2]);
return (opcode_t *)cur_opcode + 3;}
@@ -25095,6 +25905,7 @@
opcode_t *
Parrot_push_p_n(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 348 "src/ops/pmc.ops"
VTABLE_push_float(interp, PREG(1), NREG(2));
return (opcode_t *)cur_opcode + 3;}
@@ -25102,6 +25913,7 @@
opcode_t *
Parrot_push_p_nc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 348 "src/ops/pmc.ops"
VTABLE_push_float(interp, PREG(1), CONST(2)->u.number);
return (opcode_t *)cur_opcode + 3;}
@@ -25109,6 +25921,7 @@
opcode_t *
Parrot_push_p_s(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 352 "src/ops/pmc.ops"
VTABLE_push_string(interp, PREG(1), SREG(2));
return (opcode_t *)cur_opcode + 3;}
@@ -25116,6 +25929,7 @@
opcode_t *
Parrot_push_p_sc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 352 "src/ops/pmc.ops"
VTABLE_push_string(interp, PREG(1), CONST(2)->u.string);
return (opcode_t *)cur_opcode + 3;}
@@ -25123,6 +25937,7 @@
opcode_t *
Parrot_push_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 356 "src/ops/pmc.ops"
VTABLE_push_pmc(interp, PREG(1), PREG(2));
return (opcode_t *)cur_opcode + 3;}
@@ -25130,6 +25945,7 @@
opcode_t *
Parrot_pop_i_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 374 "src/ops/pmc.ops"
IREG(1) = VTABLE_pop_integer(interp, PREG(2));
return (opcode_t *)cur_opcode + 3;}
@@ -25137,6 +25953,7 @@
opcode_t *
Parrot_pop_n_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 378 "src/ops/pmc.ops"
NREG(1) = VTABLE_pop_float(interp, PREG(2));
return (opcode_t *)cur_opcode + 3;}
@@ -25144,6 +25961,7 @@
opcode_t *
Parrot_pop_s_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 382 "src/ops/pmc.ops"
SREG(1) = VTABLE_pop_string(interp, PREG(2));
return (opcode_t *)cur_opcode + 3;}
@@ -25151,6 +25969,7 @@
opcode_t *
Parrot_pop_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 386 "src/ops/pmc.ops"
PREG(1) = VTABLE_pop_pmc(interp, PREG(2));
return (opcode_t *)cur_opcode + 3;}
@@ -25158,6 +25977,7 @@
opcode_t *
Parrot_unshift_p_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 404 "src/ops/pmc.ops"
VTABLE_unshift_integer(interp, PREG(1), IREG(2));
return (opcode_t *)cur_opcode + 3;}
@@ -25165,6 +25985,7 @@
opcode_t *
Parrot_unshift_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 404 "src/ops/pmc.ops"
VTABLE_unshift_integer(interp, PREG(1), cur_opcode[2]);
return (opcode_t *)cur_opcode + 3;}
@@ -25172,6 +25993,7 @@
opcode_t *
Parrot_unshift_p_n(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 408 "src/ops/pmc.ops"
VTABLE_unshift_float(interp, PREG(1), NREG(2));
return (opcode_t *)cur_opcode + 3;}
@@ -25179,6 +26001,7 @@
opcode_t *
Parrot_unshift_p_nc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 408 "src/ops/pmc.ops"
VTABLE_unshift_float(interp, PREG(1), CONST(2)->u.number);
return (opcode_t *)cur_opcode + 3;}
@@ -25186,6 +26009,7 @@
opcode_t *
Parrot_unshift_p_s(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 412 "src/ops/pmc.ops"
VTABLE_unshift_string(interp, PREG(1), SREG(2));
return (opcode_t *)cur_opcode + 3;}
@@ -25193,6 +26017,7 @@
opcode_t *
Parrot_unshift_p_sc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 412 "src/ops/pmc.ops"
VTABLE_unshift_string(interp, PREG(1), CONST(2)->u.string);
return (opcode_t *)cur_opcode + 3;}
@@ -25200,6 +26025,7 @@
opcode_t *
Parrot_unshift_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 416 "src/ops/pmc.ops"
VTABLE_unshift_pmc(interp, PREG(1), PREG(2));
return (opcode_t *)cur_opcode + 3;}
@@ -25207,6 +26033,7 @@
opcode_t *
Parrot_shift_i_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 434 "src/ops/pmc.ops"
IREG(1) = VTABLE_shift_integer(interp, PREG(2));
return (opcode_t *)cur_opcode + 3;}
@@ -25214,6 +26041,7 @@
opcode_t *
Parrot_shift_n_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 438 "src/ops/pmc.ops"
NREG(1) = VTABLE_shift_float(interp, PREG(2));
return (opcode_t *)cur_opcode + 3;}
@@ -25221,6 +26049,7 @@
opcode_t *
Parrot_shift_s_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 442 "src/ops/pmc.ops"
SREG(1) = VTABLE_shift_string(interp, PREG(2));
return (opcode_t *)cur_opcode + 3;}
@@ -25228,6 +26057,7 @@
opcode_t *
Parrot_shift_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 446 "src/ops/pmc.ops"
PREG(1) = VTABLE_shift_pmc(interp, PREG(2));
return (opcode_t *)cur_opcode + 3;}
@@ -25235,6 +26065,7 @@
opcode_t *
Parrot_splice_p_p_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 458 "src/ops/pmc.ops"
VTABLE_splice(interp, PREG(1), PREG(2), IREG(3), IREG(4));
return (opcode_t *)cur_opcode + 5;}
@@ -25242,6 +26073,7 @@
opcode_t *
Parrot_splice_p_p_ic_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 458 "src/ops/pmc.ops"
VTABLE_splice(interp, PREG(1), PREG(2), cur_opcode[3], IREG(4));
return (opcode_t *)cur_opcode + 5;}
@@ -25249,6 +26081,7 @@
opcode_t *
Parrot_splice_p_p_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 458 "src/ops/pmc.ops"
VTABLE_splice(interp, PREG(1), PREG(2), IREG(3), cur_opcode[4]);
return (opcode_t *)cur_opcode + 5;}
@@ -25256,6 +26089,7 @@
opcode_t *
Parrot_splice_p_p_ic_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 458 "src/ops/pmc.ops"
VTABLE_splice(interp, PREG(1), PREG(2), cur_opcode[3], cur_opcode[4]);
return (opcode_t *)cur_opcode + 5;}
@@ -25263,6 +26097,7 @@
opcode_t *
Parrot_setprop_p_s_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 485 "src/ops/pmc.ops"
VTABLE_setprop(interp, PREG(1), SREG(2), PREG(3));
return (opcode_t *)cur_opcode + 4;}
@@ -25270,6 +26105,7 @@
opcode_t *
Parrot_setprop_p_sc_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 485 "src/ops/pmc.ops"
VTABLE_setprop(interp, PREG(1), CONST(2)->u.string, PREG(3));
return (opcode_t *)cur_opcode + 4;}
@@ -25277,6 +26113,7 @@
opcode_t *
Parrot_getprop_p_s_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 497 "src/ops/pmc.ops"
PREG(1) = VTABLE_getprop(interp, PREG(3), SREG(2));
return (opcode_t *)cur_opcode + 4;}
@@ -25284,6 +26121,7 @@
opcode_t *
Parrot_getprop_p_sc_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 497 "src/ops/pmc.ops"
PREG(1) = VTABLE_getprop(interp, PREG(3), CONST(2)->u.string);
return (opcode_t *)cur_opcode + 4;}
@@ -25291,6 +26129,7 @@
opcode_t *
Parrot_delprop_p_s(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 509 "src/ops/pmc.ops"
VTABLE_delprop(interp, PREG(1), SREG(2));
return (opcode_t *)cur_opcode + 3;}
@@ -25298,6 +26137,7 @@
opcode_t *
Parrot_delprop_p_sc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 509 "src/ops/pmc.ops"
VTABLE_delprop(interp, PREG(1), CONST(2)->u.string);
return (opcode_t *)cur_opcode + 3;}
@@ -25305,6 +26145,7 @@
opcode_t *
Parrot_prophash_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 522 "src/ops/pmc.ops"
PREG(1) = VTABLE_getprops(interp, PREG(2));
return (opcode_t *)cur_opcode + 3;}
@@ -25312,6 +26153,7 @@
opcode_t *
Parrot_freeze_s_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 552 "src/ops/pmc.ops"
SREG(1) = Parrot_freeze(interp, PREG(2));
return (opcode_t *)cur_opcode + 3;}
@@ -25319,6 +26161,7 @@
opcode_t *
Parrot_thaw_p_s(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 556 "src/ops/pmc.ops"
PREG(1) = Parrot_thaw(interp, SREG(2));
return (opcode_t *)cur_opcode + 3;}
@@ -25326,6 +26169,7 @@
opcode_t *
Parrot_thaw_p_sc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 556 "src/ops/pmc.ops"
PREG(1) = Parrot_thaw(interp, CONST(2)->u.string);
return (opcode_t *)cur_opcode + 3;}
@@ -25333,6 +26177,7 @@
opcode_t *
Parrot_add_multi_s_s_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 587 "src/ops/pmc.ops"
Parrot_mmd_add_multi_from_long_sig(interp, SREG(1), SREG(2), PREG(3));
return (opcode_t *)cur_opcode + 4;}
@@ -25340,6 +26185,7 @@
opcode_t *
Parrot_add_multi_sc_s_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 587 "src/ops/pmc.ops"
Parrot_mmd_add_multi_from_long_sig(interp, CONST(1)->u.string, SREG(2), PREG(3));
return (opcode_t *)cur_opcode + 4;}
@@ -25347,6 +26193,7 @@
opcode_t *
Parrot_add_multi_s_sc_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 587 "src/ops/pmc.ops"
Parrot_mmd_add_multi_from_long_sig(interp, SREG(1), CONST(2)->u.string, PREG(3));
return (opcode_t *)cur_opcode + 4;}
@@ -25354,6 +26201,7 @@
opcode_t *
Parrot_add_multi_sc_sc_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 587 "src/ops/pmc.ops"
Parrot_mmd_add_multi_from_long_sig(interp, CONST(1)->u.string, CONST(2)->u.string, PREG(3));
return (opcode_t *)cur_opcode + 4;}
@@ -25361,6 +26209,7 @@
opcode_t *
Parrot_find_multi_p_s_s(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 597 "src/ops/pmc.ops"
PREG(1) = Parrot_mmd_find_multi_from_long_sig(interp, SREG(2), SREG(3));
return (opcode_t *)cur_opcode + 4;}
@@ -25368,6 +26217,7 @@
opcode_t *
Parrot_find_multi_p_sc_s(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 597 "src/ops/pmc.ops"
PREG(1) = Parrot_mmd_find_multi_from_long_sig(interp, CONST(2)->u.string, SREG(3));
return (opcode_t *)cur_opcode + 4;}
@@ -25375,6 +26225,7 @@
opcode_t *
Parrot_find_multi_p_s_sc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 597 "src/ops/pmc.ops"
PREG(1) = Parrot_mmd_find_multi_from_long_sig(interp, SREG(2), CONST(3)->u.string);
return (opcode_t *)cur_opcode + 4;}
@@ -25382,6 +26233,7 @@
opcode_t *
Parrot_find_multi_p_sc_sc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 597 "src/ops/pmc.ops"
PREG(1) = Parrot_mmd_find_multi_from_long_sig(interp, CONST(2)->u.string, CONST(3)->u.string);
return (opcode_t *)cur_opcode + 4;}
@@ -25389,6 +26241,7 @@
opcode_t *
Parrot_register_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 630 "src/ops/pmc.ops"
Parrot_pmc_gc_register(interp, PREG(1));
return (opcode_t *)cur_opcode + 2;}
@@ -25396,6 +26249,7 @@
opcode_t *
Parrot_unregister_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 634 "src/ops/pmc.ops"
Parrot_pmc_gc_unregister(interp, PREG(1));
return (opcode_t *)cur_opcode + 2;}
@@ -25403,6 +26257,7 @@
opcode_t *
Parrot_box_p_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 651 "src/ops/pmc.ops"
PREG(1) = Parrot_pmc_new(interp, Parrot_get_ctx_HLL_type(interp, enum_class_Integer));
VTABLE_set_integer_native(interp, PREG(1), IREG(2));
@@ -25411,6 +26266,7 @@
opcode_t *
Parrot_box_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 651 "src/ops/pmc.ops"
PREG(1) = Parrot_pmc_new(interp, Parrot_get_ctx_HLL_type(interp, enum_class_Integer));
VTABLE_set_integer_native(interp, PREG(1), cur_opcode[2]);
@@ -25419,6 +26275,7 @@
opcode_t *
Parrot_box_p_n(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 656 "src/ops/pmc.ops"
PREG(1) = Parrot_pmc_new(interp, Parrot_get_ctx_HLL_type(interp, enum_class_Float));
VTABLE_set_number_native(interp, PREG(1), NREG(2));
@@ -25427,6 +26284,7 @@
opcode_t *
Parrot_box_p_nc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 656 "src/ops/pmc.ops"
PREG(1) = Parrot_pmc_new(interp, Parrot_get_ctx_HLL_type(interp, enum_class_Float));
VTABLE_set_number_native(interp, PREG(1), CONST(2)->u.number);
@@ -25435,6 +26293,7 @@
opcode_t *
Parrot_box_p_s(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 661 "src/ops/pmc.ops"
PREG(1) = Parrot_pmc_new(interp, Parrot_get_ctx_HLL_type(interp, enum_class_String));
VTABLE_set_string_native(interp, PREG(1), SREG(2));
@@ -25443,6 +26302,7 @@
opcode_t *
Parrot_box_p_sc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 661 "src/ops/pmc.ops"
PREG(1) = Parrot_pmc_new(interp, Parrot_get_ctx_HLL_type(interp, enum_class_String));
VTABLE_set_string_native(interp, PREG(1), CONST(2)->u.string);
@@ -25451,6 +26311,7 @@
opcode_t *
Parrot_iter_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 674 "src/ops/pmc.ops"
PREG(1) = VTABLE_get_iter(interp, PREG(2));
return (opcode_t *)cur_opcode + 3;}
@@ -25458,6 +26319,7 @@
opcode_t *
Parrot_morph_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 686 "src/ops/pmc.ops"
VTABLE_morph(interp, PREG(1), PREG(2));
return (opcode_t *)cur_opcode + 3;}
@@ -25465,6 +26327,7 @@
opcode_t *
Parrot_morph_p_pc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 686 "src/ops/pmc.ops"
VTABLE_morph(interp, PREG(1), CONST(2)->u.key);
return (opcode_t *)cur_opcode + 3;}
@@ -25472,6 +26335,7 @@
opcode_t *
Parrot_clone_s_s(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 28 "src/ops/set.ops"
/* cloning a NULL STRING produces an empty STRING; TT #964 */
SREG(1) = SREG(2)
? SREG(2)
@@ -25482,6 +26346,7 @@
opcode_t *
Parrot_clone_s_sc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 28 "src/ops/set.ops"
/* cloning a NULL STRING produces an empty STRING; TT #964 */
SREG(1) = CONST(2)->u.string
? CONST(2)->u.string
@@ -25492,6 +26357,7 @@
opcode_t *
Parrot_exchange_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 51 "src/ops/set.ops"
const INTVAL temp = IREG(1);
IREG(1) = IREG(2);
IREG(2) = temp;
@@ -25501,6 +26367,7 @@
opcode_t *
Parrot_exchange_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 57 "src/ops/set.ops"
PMC * const temp = PREG(1);
PREG(1) = PREG(2);
PREG(2) = temp;
@@ -25510,6 +26377,7 @@
opcode_t *
Parrot_exchange_n_n(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 63 "src/ops/set.ops"
FLOATVAL temp = NREG(1);
NREG(1) = NREG(2);
NREG(2) = temp;
@@ -25519,6 +26387,7 @@
opcode_t *
Parrot_exchange_s_s(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 69 "src/ops/set.ops"
STRING * const temp = SREG(1);
SREG(1) = SREG(2);
SREG(2) = temp;
@@ -25528,6 +26397,7 @@
opcode_t *
Parrot_set_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 121 "src/ops/set.ops"
IREG(1) = IREG(2);
return (opcode_t *)cur_opcode + 3;}
@@ -25535,6 +26405,7 @@
opcode_t *
Parrot_set_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 121 "src/ops/set.ops"
IREG(1) = cur_opcode[2];
return (opcode_t *)cur_opcode + 3;}
@@ -25542,6 +26413,7 @@
opcode_t *
Parrot_set_i_n(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 125 "src/ops/set.ops"
IREG(1) = (INTVAL)(NREG(2));
return (opcode_t *)cur_opcode + 3;}
@@ -25549,6 +26421,7 @@
opcode_t *
Parrot_set_i_nc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 125 "src/ops/set.ops"
IREG(1) = (INTVAL)(CONST(2)->u.number);
return (opcode_t *)cur_opcode + 3;}
@@ -25556,6 +26429,7 @@
opcode_t *
Parrot_set_i_s(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 129 "src/ops/set.ops"
IREG(1) = Parrot_str_to_int(interp, SREG(2));
return (opcode_t *)cur_opcode + 3;}
@@ -25563,6 +26437,7 @@
opcode_t *
Parrot_set_i_sc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 129 "src/ops/set.ops"
IREG(1) = Parrot_str_to_int(interp, CONST(2)->u.string);
return (opcode_t *)cur_opcode + 3;}
@@ -25570,6 +26445,7 @@
opcode_t *
Parrot_set_n_n(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 133 "src/ops/set.ops"
NREG(1) = NREG(2);
return (opcode_t *)cur_opcode + 3;}
@@ -25577,6 +26453,7 @@
opcode_t *
Parrot_set_n_nc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 133 "src/ops/set.ops"
NREG(1) = CONST(2)->u.number;
return (opcode_t *)cur_opcode + 3;}
@@ -25584,6 +26461,7 @@
opcode_t *
Parrot_set_n_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 137 "src/ops/set.ops"
NREG(1) = (FLOATVAL)IREG(2);
return (opcode_t *)cur_opcode + 3;}
@@ -25591,6 +26469,7 @@
opcode_t *
Parrot_set_n_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 137 "src/ops/set.ops"
NREG(1) = (FLOATVAL)cur_opcode[2];
return (opcode_t *)cur_opcode + 3;}
@@ -25598,6 +26477,7 @@
opcode_t *
Parrot_set_n_s(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 141 "src/ops/set.ops"
NREG(1) = Parrot_str_to_num(interp, SREG(2));
return (opcode_t *)cur_opcode + 3;}
@@ -25605,6 +26485,7 @@
opcode_t *
Parrot_set_n_sc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 141 "src/ops/set.ops"
NREG(1) = Parrot_str_to_num(interp, CONST(2)->u.string);
return (opcode_t *)cur_opcode + 3;}
@@ -25612,6 +26493,7 @@
opcode_t *
Parrot_set_n_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 145 "src/ops/set.ops"
NREG(1) = VTABLE_get_number(interp, PREG(2));
return (opcode_t *)cur_opcode + 3;}
@@ -25619,6 +26501,7 @@
opcode_t *
Parrot_set_s_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 149 "src/ops/set.ops"
SREG(1) = VTABLE_get_string(interp, PREG(2));
return (opcode_t *)cur_opcode + 3;}
@@ -25626,6 +26509,7 @@
opcode_t *
Parrot_set_s_s(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 153 "src/ops/set.ops"
SREG(1) = SREG(2);
return (opcode_t *)cur_opcode + 3;}
@@ -25633,6 +26517,7 @@
opcode_t *
Parrot_set_s_sc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 157 "src/ops/set.ops"
SREG(1) = CONST(2)->u.string;
return (opcode_t *)cur_opcode + 3;}
@@ -25640,6 +26525,7 @@
opcode_t *
Parrot_set_s_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 161 "src/ops/set.ops"
SREG(1) = Parrot_str_from_int(interp, IREG(2));
return (opcode_t *)cur_opcode + 3;}
@@ -25647,6 +26533,7 @@
opcode_t *
Parrot_set_s_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 161 "src/ops/set.ops"
SREG(1) = Parrot_str_from_int(interp, cur_opcode[2]);
return (opcode_t *)cur_opcode + 3;}
@@ -25654,6 +26541,7 @@
opcode_t *
Parrot_set_s_n(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 165 "src/ops/set.ops"
SREG(1) = Parrot_str_from_num(interp, NREG(2));
return (opcode_t *)cur_opcode + 3;}
@@ -25661,6 +26549,7 @@
opcode_t *
Parrot_set_s_nc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 165 "src/ops/set.ops"
SREG(1) = Parrot_str_from_num(interp, CONST(2)->u.number);
return (opcode_t *)cur_opcode + 3;}
@@ -25668,6 +26557,7 @@
opcode_t *
Parrot_set_p_pc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 169 "src/ops/set.ops"
PREG(1) = CONST(2)->u.key;
return (opcode_t *)cur_opcode + 3;}
@@ -25675,6 +26565,7 @@
opcode_t *
Parrot_set_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 173 "src/ops/set.ops"
PREG(1) = PREG(2);
return (opcode_t *)cur_opcode + 3;}
@@ -25682,6 +26573,7 @@
opcode_t *
Parrot_set_p_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 177 "src/ops/set.ops"
VTABLE_set_integer_native(interp, PREG(1), IREG(2));
return (opcode_t *)cur_opcode + 3;}
@@ -25689,6 +26581,7 @@
opcode_t *
Parrot_set_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 177 "src/ops/set.ops"
VTABLE_set_integer_native(interp, PREG(1), cur_opcode[2]);
return (opcode_t *)cur_opcode + 3;}
@@ -25696,6 +26589,7 @@
opcode_t *
Parrot_set_p_n(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 181 "src/ops/set.ops"
VTABLE_set_number_native(interp, PREG(1), NREG(2));
return (opcode_t *)cur_opcode + 3;}
@@ -25703,6 +26597,7 @@
opcode_t *
Parrot_set_p_nc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 181 "src/ops/set.ops"
VTABLE_set_number_native(interp, PREG(1), CONST(2)->u.number);
return (opcode_t *)cur_opcode + 3;}
@@ -25710,6 +26605,7 @@
opcode_t *
Parrot_set_p_s(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 185 "src/ops/set.ops"
VTABLE_set_string_native(interp, PREG(1), SREG(2));
return (opcode_t *)cur_opcode + 3;}
@@ -25717,6 +26613,7 @@
opcode_t *
Parrot_set_p_sc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 189 "src/ops/set.ops"
VTABLE_set_string_native(interp, PREG(1), CONST(2)->u.string);
return (opcode_t *)cur_opcode + 3;}
@@ -25724,6 +26621,7 @@
opcode_t *
Parrot_set_i_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 192 "src/ops/set.ops"
IREG(1) = VTABLE_get_integer(interp, PREG(2));
return (opcode_t *)cur_opcode + 3;}
@@ -25731,6 +26629,7 @@
opcode_t *
Parrot_assign_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 233 "src/ops/set.ops"
VTABLE_assign_pmc(interp, PREG(1), PREG(2));
return (opcode_t *)cur_opcode + 3;}
@@ -25738,6 +26637,7 @@
opcode_t *
Parrot_assign_p_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 237 "src/ops/set.ops"
VTABLE_set_integer_native(interp, PREG(1), IREG(2));
return (opcode_t *)cur_opcode + 3;}
@@ -25745,6 +26645,7 @@
opcode_t *
Parrot_assign_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 237 "src/ops/set.ops"
VTABLE_set_integer_native(interp, PREG(1), cur_opcode[2]);
return (opcode_t *)cur_opcode + 3;}
@@ -25752,6 +26653,7 @@
opcode_t *
Parrot_assign_p_n(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 241 "src/ops/set.ops"
VTABLE_set_number_native(interp, PREG(1), NREG(2));
return (opcode_t *)cur_opcode + 3;}
@@ -25759,6 +26661,7 @@
opcode_t *
Parrot_assign_p_nc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 241 "src/ops/set.ops"
VTABLE_set_number_native(interp, PREG(1), CONST(2)->u.number);
return (opcode_t *)cur_opcode + 3;}
@@ -25766,6 +26669,7 @@
opcode_t *
Parrot_assign_p_s(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 245 "src/ops/set.ops"
VTABLE_assign_string_native(interp, PREG(1), SREG(2));
return (opcode_t *)cur_opcode + 3;}
@@ -25773,6 +26677,7 @@
opcode_t *
Parrot_assign_p_sc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 245 "src/ops/set.ops"
VTABLE_assign_string_native(interp, PREG(1), CONST(2)->u.string);
return (opcode_t *)cur_opcode + 3;}
@@ -25780,6 +26685,7 @@
opcode_t *
Parrot_assign_s_s(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 249 "src/ops/set.ops"
SREG(1) = SREG(2);
return (opcode_t *)cur_opcode + 3;}
@@ -25787,6 +26693,7 @@
opcode_t *
Parrot_assign_s_sc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 249 "src/ops/set.ops"
SREG(1) = CONST(2)->u.string;
return (opcode_t *)cur_opcode + 3;}
@@ -25794,6 +26701,7 @@
opcode_t *
Parrot_setref_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 253 "src/ops/set.ops"
VTABLE_set_pmc(interp, PREG(1), PREG(2));
return (opcode_t *)cur_opcode + 3;}
@@ -25801,6 +26709,7 @@
opcode_t *
Parrot_deref_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 257 "src/ops/set.ops"
PREG(1) = VTABLE_get_pmc(interp, PREG(2));
return (opcode_t *)cur_opcode + 3;}
@@ -25808,6 +26717,7 @@
opcode_t *
Parrot_setp_ind_i_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 275 "src/ops/set.ops"
if (IREG(1) < 0 || IREG(1) >= NUM_REGISTERS)
PANIC(interp, "Out of bound register access");
REG_PMC(interp, IREG(1)) = PREG(2);
@@ -25817,6 +26727,7 @@
opcode_t *
Parrot_setp_ind_ic_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 275 "src/ops/set.ops"
if (cur_opcode[1] < 0 || cur_opcode[1] >= NUM_REGISTERS)
PANIC(interp, "Out of bound register access");
REG_PMC(interp, cur_opcode[1]) = PREG(2);
@@ -25826,6 +26737,7 @@
opcode_t *
Parrot_setn_ind_i_n(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 289 "src/ops/set.ops"
if (IREG(1) < 0 || IREG(1) >= NUM_REGISTERS)
PANIC(interp, "Out of bound register access");
REG_NUM(interp, IREG(1)) = NREG(2);
@@ -25835,6 +26747,7 @@
opcode_t *
Parrot_setn_ind_ic_n(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 289 "src/ops/set.ops"
if (cur_opcode[1] < 0 || cur_opcode[1] >= NUM_REGISTERS)
PANIC(interp, "Out of bound register access");
REG_NUM(interp, cur_opcode[1]) = NREG(2);
@@ -25844,6 +26757,7 @@
opcode_t *
Parrot_setn_ind_i_nc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 289 "src/ops/set.ops"
if (IREG(1) < 0 || IREG(1) >= NUM_REGISTERS)
PANIC(interp, "Out of bound register access");
REG_NUM(interp, IREG(1)) = CONST(2)->u.number;
@@ -25853,6 +26767,7 @@
opcode_t *
Parrot_setn_ind_ic_nc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 289 "src/ops/set.ops"
if (cur_opcode[1] < 0 || cur_opcode[1] >= NUM_REGISTERS)
PANIC(interp, "Out of bound register access");
REG_NUM(interp, cur_opcode[1]) = CONST(2)->u.number;
@@ -25862,6 +26777,7 @@
opcode_t *
Parrot_sets_ind_i_s(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 303 "src/ops/set.ops"
if (IREG(1) < 0 || IREG(1) >= NUM_REGISTERS)
PANIC(interp, "Out of bound register access");
REG_STR(interp, IREG(1)) = SREG(2);
@@ -25871,6 +26787,7 @@
opcode_t *
Parrot_sets_ind_ic_s(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 303 "src/ops/set.ops"
if (cur_opcode[1] < 0 || cur_opcode[1] >= NUM_REGISTERS)
PANIC(interp, "Out of bound register access");
REG_STR(interp, cur_opcode[1]) = SREG(2);
@@ -25880,6 +26797,7 @@
opcode_t *
Parrot_sets_ind_i_sc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 303 "src/ops/set.ops"
if (IREG(1) < 0 || IREG(1) >= NUM_REGISTERS)
PANIC(interp, "Out of bound register access");
REG_STR(interp, IREG(1)) = CONST(2)->u.string;
@@ -25889,6 +26807,7 @@
opcode_t *
Parrot_sets_ind_ic_sc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 303 "src/ops/set.ops"
if (cur_opcode[1] < 0 || cur_opcode[1] >= NUM_REGISTERS)
PANIC(interp, "Out of bound register access");
REG_STR(interp, cur_opcode[1]) = CONST(2)->u.string;
@@ -25898,6 +26817,7 @@
opcode_t *
Parrot_seti_ind_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 317 "src/ops/set.ops"
if (IREG(1) < 0 || IREG(1) >= NUM_REGISTERS)
PANIC(interp, "Out of bound register access");
REG_INT(interp, IREG(1)) = IREG(2);
@@ -25907,6 +26827,7 @@
opcode_t *
Parrot_seti_ind_ic_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 317 "src/ops/set.ops"
if (cur_opcode[1] < 0 || cur_opcode[1] >= NUM_REGISTERS)
PANIC(interp, "Out of bound register access");
REG_INT(interp, cur_opcode[1]) = IREG(2);
@@ -25916,6 +26837,7 @@
opcode_t *
Parrot_seti_ind_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 317 "src/ops/set.ops"
if (IREG(1) < 0 || IREG(1) >= NUM_REGISTERS)
PANIC(interp, "Out of bound register access");
REG_INT(interp, IREG(1)) = cur_opcode[2];
@@ -25925,6 +26847,7 @@
opcode_t *
Parrot_seti_ind_ic_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 317 "src/ops/set.ops"
if (cur_opcode[1] < 0 || cur_opcode[1] >= NUM_REGISTERS)
PANIC(interp, "Out of bound register access");
REG_INT(interp, cur_opcode[1]) = cur_opcode[2];
@@ -25934,6 +26857,7 @@
opcode_t *
Parrot_set_p_ki_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 343 "src/ops/set.ops"
VTABLE_set_integer_keyed_int(interp, PREG(1), IREG(2), IREG(3));
return (opcode_t *)cur_opcode + 4;}
@@ -25941,6 +26865,7 @@
opcode_t *
Parrot_set_p_kic_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 343 "src/ops/set.ops"
VTABLE_set_integer_keyed_int(interp, PREG(1), cur_opcode[2], IREG(3));
return (opcode_t *)cur_opcode + 4;}
@@ -25948,6 +26873,7 @@
opcode_t *
Parrot_set_p_ki_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 343 "src/ops/set.ops"
VTABLE_set_integer_keyed_int(interp, PREG(1), IREG(2), cur_opcode[3]);
return (opcode_t *)cur_opcode + 4;}
@@ -25955,6 +26881,7 @@
opcode_t *
Parrot_set_p_kic_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 343 "src/ops/set.ops"
VTABLE_set_integer_keyed_int(interp, PREG(1), cur_opcode[2], cur_opcode[3]);
return (opcode_t *)cur_opcode + 4;}
@@ -25962,6 +26889,7 @@
opcode_t *
Parrot_set_p_ki_n(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 347 "src/ops/set.ops"
VTABLE_set_number_keyed_int(interp, PREG(1), IREG(2), NREG(3));
return (opcode_t *)cur_opcode + 4;}
@@ -25969,6 +26897,7 @@
opcode_t *
Parrot_set_p_kic_n(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 347 "src/ops/set.ops"
VTABLE_set_number_keyed_int(interp, PREG(1), cur_opcode[2], NREG(3));
return (opcode_t *)cur_opcode + 4;}
@@ -25976,6 +26905,7 @@
opcode_t *
Parrot_set_p_ki_nc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 347 "src/ops/set.ops"
VTABLE_set_number_keyed_int(interp, PREG(1), IREG(2), CONST(3)->u.number);
return (opcode_t *)cur_opcode + 4;}
@@ -25983,6 +26913,7 @@
opcode_t *
Parrot_set_p_kic_nc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 347 "src/ops/set.ops"
VTABLE_set_number_keyed_int(interp, PREG(1), cur_opcode[2], CONST(3)->u.number);
return (opcode_t *)cur_opcode + 4;}
@@ -25990,6 +26921,7 @@
opcode_t *
Parrot_set_p_ki_s(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 351 "src/ops/set.ops"
VTABLE_set_string_keyed_int(interp, PREG(1), IREG(2), SREG(3));
return (opcode_t *)cur_opcode + 4;}
@@ -25997,6 +26929,7 @@
opcode_t *
Parrot_set_p_kic_s(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 351 "src/ops/set.ops"
VTABLE_set_string_keyed_int(interp, PREG(1), cur_opcode[2], SREG(3));
return (opcode_t *)cur_opcode + 4;}
@@ -26004,6 +26937,7 @@
opcode_t *
Parrot_set_p_ki_sc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 351 "src/ops/set.ops"
VTABLE_set_string_keyed_int(interp, PREG(1), IREG(2), CONST(3)->u.string);
return (opcode_t *)cur_opcode + 4;}
@@ -26011,6 +26945,7 @@
opcode_t *
Parrot_set_p_kic_sc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 351 "src/ops/set.ops"
VTABLE_set_string_keyed_int(interp, PREG(1), cur_opcode[2], CONST(3)->u.string);
return (opcode_t *)cur_opcode + 4;}
@@ -26018,6 +26953,7 @@
opcode_t *
Parrot_set_p_ki_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 355 "src/ops/set.ops"
VTABLE_set_pmc_keyed_int(interp, PREG(1), IREG(2), PREG(3));
return (opcode_t *)cur_opcode + 4;}
@@ -26025,6 +26961,7 @@
opcode_t *
Parrot_set_p_kic_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 355 "src/ops/set.ops"
VTABLE_set_pmc_keyed_int(interp, PREG(1), cur_opcode[2], PREG(3));
return (opcode_t *)cur_opcode + 4;}
@@ -26032,6 +26969,7 @@
opcode_t *
Parrot_set_i_p_ki(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 379 "src/ops/set.ops"
IREG(1) = VTABLE_get_integer_keyed_int(interp, PREG(2), IREG(3));
return (opcode_t *)cur_opcode + 4;}
@@ -26039,6 +26977,7 @@
opcode_t *
Parrot_set_i_p_kic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 379 "src/ops/set.ops"
IREG(1) = VTABLE_get_integer_keyed_int(interp, PREG(2), cur_opcode[3]);
return (opcode_t *)cur_opcode + 4;}
@@ -26046,6 +26985,7 @@
opcode_t *
Parrot_set_n_p_ki(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 383 "src/ops/set.ops"
NREG(1) = VTABLE_get_number_keyed_int(interp, PREG(2), IREG(3));
return (opcode_t *)cur_opcode + 4;}
@@ -26053,6 +26993,7 @@
opcode_t *
Parrot_set_n_p_kic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 383 "src/ops/set.ops"
NREG(1) = VTABLE_get_number_keyed_int(interp, PREG(2), cur_opcode[3]);
return (opcode_t *)cur_opcode + 4;}
@@ -26060,6 +27001,7 @@
opcode_t *
Parrot_set_s_p_ki(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 387 "src/ops/set.ops"
SREG(1) = VTABLE_get_string_keyed_int(interp, PREG(2), IREG(3));
return (opcode_t *)cur_opcode + 4;}
@@ -26067,6 +27009,7 @@
opcode_t *
Parrot_set_s_p_kic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 387 "src/ops/set.ops"
SREG(1) = VTABLE_get_string_keyed_int(interp, PREG(2), cur_opcode[3]);
return (opcode_t *)cur_opcode + 4;}
@@ -26074,6 +27017,7 @@
opcode_t *
Parrot_set_p_p_ki(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 391 "src/ops/set.ops"
PREG(1) = VTABLE_get_pmc_keyed_int(interp, PREG(2), IREG(3));
return (opcode_t *)cur_opcode + 4;}
@@ -26081,6 +27025,7 @@
opcode_t *
Parrot_set_p_p_kic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 391 "src/ops/set.ops"
PREG(1) = VTABLE_get_pmc_keyed_int(interp, PREG(2), cur_opcode[3]);
return (opcode_t *)cur_opcode + 4;}
@@ -26088,6 +27033,7 @@
opcode_t *
Parrot_set_p_k_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 415 "src/ops/set.ops"
VTABLE_set_integer_keyed(interp, PREG(1), PREG(2), IREG(3));
return (opcode_t *)cur_opcode + 4;}
@@ -26095,6 +27041,7 @@
opcode_t *
Parrot_set_p_kc_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 415 "src/ops/set.ops"
VTABLE_set_integer_keyed(interp, PREG(1), CONST(2)->u.key, IREG(3));
return (opcode_t *)cur_opcode + 4;}
@@ -26102,6 +27049,7 @@
opcode_t *
Parrot_set_p_k_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 415 "src/ops/set.ops"
VTABLE_set_integer_keyed(interp, PREG(1), PREG(2), cur_opcode[3]);
return (opcode_t *)cur_opcode + 4;}
@@ -26109,6 +27057,7 @@
opcode_t *
Parrot_set_p_kc_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 415 "src/ops/set.ops"
VTABLE_set_integer_keyed(interp, PREG(1), CONST(2)->u.key, cur_opcode[3]);
return (opcode_t *)cur_opcode + 4;}
@@ -26116,6 +27065,7 @@
opcode_t *
Parrot_set_p_k_n(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 419 "src/ops/set.ops"
VTABLE_set_number_keyed(interp, PREG(1), PREG(2), NREG(3));
return (opcode_t *)cur_opcode + 4;}
@@ -26123,6 +27073,7 @@
opcode_t *
Parrot_set_p_kc_n(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 419 "src/ops/set.ops"
VTABLE_set_number_keyed(interp, PREG(1), CONST(2)->u.key, NREG(3));
return (opcode_t *)cur_opcode + 4;}
@@ -26130,6 +27081,7 @@
opcode_t *
Parrot_set_p_k_nc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 419 "src/ops/set.ops"
VTABLE_set_number_keyed(interp, PREG(1), PREG(2), CONST(3)->u.number);
return (opcode_t *)cur_opcode + 4;}
@@ -26137,6 +27089,7 @@
opcode_t *
Parrot_set_p_kc_nc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 419 "src/ops/set.ops"
VTABLE_set_number_keyed(interp, PREG(1), CONST(2)->u.key, CONST(3)->u.number);
return (opcode_t *)cur_opcode + 4;}
@@ -26144,6 +27097,7 @@
opcode_t *
Parrot_set_p_k_s(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 423 "src/ops/set.ops"
VTABLE_set_string_keyed(interp, PREG(1), PREG(2), SREG(3));
return (opcode_t *)cur_opcode + 4;}
@@ -26151,6 +27105,7 @@
opcode_t *
Parrot_set_p_kc_s(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 423 "src/ops/set.ops"
VTABLE_set_string_keyed(interp, PREG(1), CONST(2)->u.key, SREG(3));
return (opcode_t *)cur_opcode + 4;}
@@ -26158,6 +27113,7 @@
opcode_t *
Parrot_set_p_k_sc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 423 "src/ops/set.ops"
VTABLE_set_string_keyed(interp, PREG(1), PREG(2), CONST(3)->u.string);
return (opcode_t *)cur_opcode + 4;}
@@ -26165,6 +27121,7 @@
opcode_t *
Parrot_set_p_kc_sc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 423 "src/ops/set.ops"
VTABLE_set_string_keyed(interp, PREG(1), CONST(2)->u.key, CONST(3)->u.string);
return (opcode_t *)cur_opcode + 4;}
@@ -26172,6 +27129,7 @@
opcode_t *
Parrot_set_p_k_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 427 "src/ops/set.ops"
VTABLE_set_pmc_keyed(interp, PREG(1), PREG(2), PREG(3));
return (opcode_t *)cur_opcode + 4;}
@@ -26179,6 +27137,7 @@
opcode_t *
Parrot_set_p_kc_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 427 "src/ops/set.ops"
VTABLE_set_pmc_keyed(interp, PREG(1), CONST(2)->u.key, PREG(3));
return (opcode_t *)cur_opcode + 4;}
@@ -26186,6 +27145,7 @@
opcode_t *
Parrot_set_i_p_k(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 451 "src/ops/set.ops"
IREG(1) = VTABLE_get_integer_keyed(interp, PREG(2), PREG(3));
return (opcode_t *)cur_opcode + 4;}
@@ -26193,6 +27153,7 @@
opcode_t *
Parrot_set_i_p_kc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 451 "src/ops/set.ops"
IREG(1) = VTABLE_get_integer_keyed(interp, PREG(2), CONST(3)->u.key);
return (opcode_t *)cur_opcode + 4;}
@@ -26200,6 +27161,7 @@
opcode_t *
Parrot_set_n_p_k(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 455 "src/ops/set.ops"
NREG(1) = VTABLE_get_number_keyed(interp, PREG(2), PREG(3));
return (opcode_t *)cur_opcode + 4;}
@@ -26207,6 +27169,7 @@
opcode_t *
Parrot_set_n_p_kc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 455 "src/ops/set.ops"
NREG(1) = VTABLE_get_number_keyed(interp, PREG(2), CONST(3)->u.key);
return (opcode_t *)cur_opcode + 4;}
@@ -26214,6 +27177,7 @@
opcode_t *
Parrot_set_s_p_k(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 459 "src/ops/set.ops"
SREG(1) = VTABLE_get_string_keyed(interp, PREG(2), PREG(3));
return (opcode_t *)cur_opcode + 4;}
@@ -26221,6 +27185,7 @@
opcode_t *
Parrot_set_s_p_kc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 459 "src/ops/set.ops"
SREG(1) = VTABLE_get_string_keyed(interp, PREG(2), CONST(3)->u.key);
return (opcode_t *)cur_opcode + 4;}
@@ -26228,6 +27193,7 @@
opcode_t *
Parrot_set_p_p_k(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 463 "src/ops/set.ops"
PREG(1) = VTABLE_get_pmc_keyed(interp, PREG(2), PREG(3));
return (opcode_t *)cur_opcode + 4;}
@@ -26235,6 +27201,7 @@
opcode_t *
Parrot_set_p_p_kc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 463 "src/ops/set.ops"
PREG(1) = VTABLE_get_pmc_keyed(interp, PREG(2), CONST(3)->u.key);
return (opcode_t *)cur_opcode + 4;}
@@ -26242,6 +27209,7 @@
opcode_t *
Parrot_clone_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 473 "src/ops/set.ops"
PREG(1) = VTABLE_clone(interp, PREG(2));
return (opcode_t *)cur_opcode + 3;}
@@ -26249,6 +27217,7 @@
opcode_t *
Parrot_clone_p_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 483 "src/ops/set.ops"
PREG(1) = VTABLE_clone_pmc(interp, PREG(2), PREG(3));
return (opcode_t *)cur_opcode + 4;}
@@ -26256,6 +27225,7 @@
opcode_t *
Parrot_clone_p_p_pc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 483 "src/ops/set.ops"
PREG(1) = VTABLE_clone_pmc(interp, PREG(2), CONST(3)->u.key);
return (opcode_t *)cur_opcode + 4;}
@@ -26263,6 +27233,7 @@
opcode_t *
Parrot_copy_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 493 "src/ops/set.ops"
if (PMC_IS_NULL(PREG(1))) {
opcode_t * const dest = cur_opcode + 3;
opcode_t * const handler = Parrot_ex_throw_from_op_args(interp, dest,
@@ -26302,6 +27273,7 @@
opcode_t *
Parrot_null_s(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 561 "src/ops/set.ops"
SREG(1) = STRINGNULL;
return (opcode_t *)cur_opcode + 2;}
@@ -26309,6 +27281,7 @@
opcode_t *
Parrot_null_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 565 "src/ops/set.ops"
IREG(1) = 0;
return (opcode_t *)cur_opcode + 2;}
@@ -26316,6 +27289,7 @@
opcode_t *
Parrot_null_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 569 "src/ops/set.ops"
PREG(1) = PMCNULL;
return (opcode_t *)cur_opcode + 2;}
@@ -26323,6 +27297,7 @@
opcode_t *
Parrot_null_n(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 573 "src/ops/set.ops"
NREG(1) = 0;
return (opcode_t *)cur_opcode + 2;}
@@ -26330,6 +27305,7 @@
opcode_t *
Parrot_cleari(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 595 "src/ops/set.ops"
Parrot_clear_i(interp);
return (opcode_t *)cur_opcode + 1;}
@@ -26337,6 +27313,7 @@
opcode_t *
Parrot_clearn(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 599 "src/ops/set.ops"
Parrot_clear_n(interp);
return (opcode_t *)cur_opcode + 1;}
@@ -26344,6 +27321,7 @@
opcode_t *
Parrot_clears(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 603 "src/ops/set.ops"
Parrot_clear_s(interp);
return (opcode_t *)cur_opcode + 1;}
@@ -26351,6 +27329,7 @@
opcode_t *
Parrot_clearp(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 607 "src/ops/set.ops"
Parrot_clear_p(interp);
return (opcode_t *)cur_opcode + 1;}
@@ -26358,6 +27337,7 @@
opcode_t *
Parrot_ord_i_s(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 40 "src/ops/string.ops"
IREG(1) = string_ord(interp, SREG(2), 0);
return (opcode_t *)cur_opcode + 3;}
@@ -26365,6 +27345,7 @@
opcode_t *
Parrot_ord_i_sc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 40 "src/ops/string.ops"
IREG(1) = string_ord(interp, CONST(2)->u.string, 0);
return (opcode_t *)cur_opcode + 3;}
@@ -26372,6 +27353,7 @@
opcode_t *
Parrot_ord_i_s_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 44 "src/ops/string.ops"
IREG(1) = string_ord(interp, SREG(2), IREG(3));
return (opcode_t *)cur_opcode + 4;}
@@ -26379,6 +27361,7 @@
opcode_t *
Parrot_ord_i_sc_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 44 "src/ops/string.ops"
IREG(1) = string_ord(interp, CONST(2)->u.string, IREG(3));
return (opcode_t *)cur_opcode + 4;}
@@ -26386,6 +27369,7 @@
opcode_t *
Parrot_ord_i_s_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 44 "src/ops/string.ops"
IREG(1) = string_ord(interp, SREG(2), cur_opcode[3]);
return (opcode_t *)cur_opcode + 4;}
@@ -26393,6 +27377,7 @@
opcode_t *
Parrot_ord_i_sc_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 44 "src/ops/string.ops"
IREG(1) = string_ord(interp, CONST(2)->u.string, cur_opcode[3]);
return (opcode_t *)cur_opcode + 4;}
@@ -26400,6 +27385,7 @@
opcode_t *
Parrot_chr_s_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 55 "src/ops/string.ops"
STRING * const s = string_chr(interp, (UINTVAL)IREG(2));
SREG(1) = s;
@@ -26408,6 +27394,7 @@
opcode_t *
Parrot_chr_s_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 55 "src/ops/string.ops"
STRING * const s = string_chr(interp, (UINTVAL)cur_opcode[2]);
SREG(1) = s;
@@ -26416,6 +27403,7 @@
opcode_t *
Parrot_chopn_s_s_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 69 "src/ops/string.ops"
SREG(1) = Parrot_str_chopn(interp, SREG(2), IREG(3));
return (opcode_t *)cur_opcode + 4;}
@@ -26423,6 +27411,7 @@
opcode_t *
Parrot_chopn_s_sc_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 69 "src/ops/string.ops"
SREG(1) = Parrot_str_chopn(interp, CONST(2)->u.string, IREG(3));
return (opcode_t *)cur_opcode + 4;}
@@ -26430,6 +27419,7 @@
opcode_t *
Parrot_chopn_s_s_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 69 "src/ops/string.ops"
SREG(1) = Parrot_str_chopn(interp, SREG(2), cur_opcode[3]);
return (opcode_t *)cur_opcode + 4;}
@@ -26437,6 +27427,7 @@
opcode_t *
Parrot_chopn_s_sc_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 69 "src/ops/string.ops"
SREG(1) = Parrot_str_chopn(interp, CONST(2)->u.string, cur_opcode[3]);
return (opcode_t *)cur_opcode + 4;}
@@ -26444,6 +27435,7 @@
opcode_t *
Parrot_concat_s_s(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 92 "src/ops/string.ops"
INTVAL unused = PARROT_WARNINGS_test(interp,PARROT_WARNINGS_DEPRECATED_FLAG) &&
fprintf(stderr,"Warning: instruction 'concat' is deprecated\n");
SREG(1) = Parrot_str_concat(interp, SREG(1), SREG(2));
@@ -26453,6 +27445,7 @@
opcode_t *
Parrot_concat_s_sc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 92 "src/ops/string.ops"
INTVAL unused = PARROT_WARNINGS_test(interp,PARROT_WARNINGS_DEPRECATED_FLAG) &&
fprintf(stderr,"Warning: instruction 'concat' is deprecated\n");
SREG(1) = Parrot_str_concat(interp, SREG(1), CONST(2)->u.string);
@@ -26462,6 +27455,7 @@
opcode_t *
Parrot_concat_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 96 "src/ops/string.ops"
VTABLE_i_concatenate(interp, PREG(1), PREG(2));
return (opcode_t *)cur_opcode + 3;}
@@ -26469,6 +27463,7 @@
opcode_t *
Parrot_concat_p_s(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 100 "src/ops/string.ops"
VTABLE_i_concatenate_str(interp, PREG(1), SREG(2));
return (opcode_t *)cur_opcode + 3;}
@@ -26476,6 +27471,7 @@
opcode_t *
Parrot_concat_p_sc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 100 "src/ops/string.ops"
VTABLE_i_concatenate_str(interp, PREG(1), CONST(2)->u.string);
return (opcode_t *)cur_opcode + 3;}
@@ -26483,6 +27479,7 @@
opcode_t *
Parrot_concat_s_s_s(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 104 "src/ops/string.ops"
SREG(1) = Parrot_str_concat(interp, SREG(2), SREG(3));
return (opcode_t *)cur_opcode + 4;}
@@ -26490,6 +27487,7 @@
opcode_t *
Parrot_concat_s_sc_s(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 104 "src/ops/string.ops"
SREG(1) = Parrot_str_concat(interp, CONST(2)->u.string, SREG(3));
return (opcode_t *)cur_opcode + 4;}
@@ -26497,6 +27495,7 @@
opcode_t *
Parrot_concat_s_s_sc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 104 "src/ops/string.ops"
SREG(1) = Parrot_str_concat(interp, SREG(2), CONST(3)->u.string);
return (opcode_t *)cur_opcode + 4;}
@@ -26504,6 +27503,7 @@
opcode_t *
Parrot_concat_p_p_s(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 108 "src/ops/string.ops"
PREG(1) = VTABLE_concatenate_str(interp, PREG(2), SREG(3), PREG(1));
return (opcode_t *)cur_opcode + 4;}
@@ -26511,6 +27511,7 @@
opcode_t *
Parrot_concat_p_p_sc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 108 "src/ops/string.ops"
PREG(1) = VTABLE_concatenate_str(interp, PREG(2), CONST(3)->u.string, PREG(1));
return (opcode_t *)cur_opcode + 4;}
@@ -26518,6 +27519,7 @@
opcode_t *
Parrot_concat_p_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 112 "src/ops/string.ops"
PREG(1) = VTABLE_concatenate(interp, PREG(2), PREG(3), PREG(1));
return (opcode_t *)cur_opcode + 4;}
@@ -26525,6 +27527,7 @@
opcode_t *
Parrot_repeat_s_s_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 127 "src/ops/string.ops"
if (IREG(3) < 0) {
opcode_t *handler = Parrot_ex_throw_from_op_args(interp, NULL,
EXCEPTION_NEG_REPEAT,
@@ -26538,6 +27541,7 @@
opcode_t *
Parrot_repeat_s_sc_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 127 "src/ops/string.ops"
if (IREG(3) < 0) {
opcode_t *handler = Parrot_ex_throw_from_op_args(interp, NULL,
EXCEPTION_NEG_REPEAT,
@@ -26551,6 +27555,7 @@
opcode_t *
Parrot_repeat_s_s_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 127 "src/ops/string.ops"
if (cur_opcode[3] < 0) {
opcode_t *handler = Parrot_ex_throw_from_op_args(interp, NULL,
EXCEPTION_NEG_REPEAT,
@@ -26564,6 +27569,7 @@
opcode_t *
Parrot_repeat_s_sc_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 127 "src/ops/string.ops"
if (cur_opcode[3] < 0) {
opcode_t *handler = Parrot_ex_throw_from_op_args(interp, NULL,
EXCEPTION_NEG_REPEAT,
@@ -26577,6 +27583,7 @@
opcode_t *
Parrot_repeat_p_p_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 137 "src/ops/string.ops"
if (IREG(3) < 0) {
opcode_t *handler = Parrot_ex_throw_from_op_args(interp, NULL,
EXCEPTION_NEG_REPEAT,
@@ -26590,6 +27597,7 @@
opcode_t *
Parrot_repeat_p_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 137 "src/ops/string.ops"
if (cur_opcode[3] < 0) {
opcode_t *handler = Parrot_ex_throw_from_op_args(interp, NULL,
EXCEPTION_NEG_REPEAT,
@@ -26603,6 +27611,7 @@
opcode_t *
Parrot_repeat_p_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 147 "src/ops/string.ops"
if (VTABLE_get_integer(interp, PREG(3)) < 0) {
opcode_t *handler = Parrot_ex_throw_from_op_args(interp, NULL,
EXCEPTION_NEG_REPEAT,
@@ -26616,6 +27625,7 @@
opcode_t *
Parrot_repeat_p_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 166 "src/ops/string.ops"
VTABLE_i_repeat_int(interp, PREG(1), IREG(2));
return (opcode_t *)cur_opcode + 3;}
@@ -26623,6 +27633,7 @@
opcode_t *
Parrot_repeat_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 166 "src/ops/string.ops"
VTABLE_i_repeat_int(interp, PREG(1), cur_opcode[2]);
return (opcode_t *)cur_opcode + 3;}
@@ -26630,6 +27641,7 @@
opcode_t *
Parrot_repeat_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 170 "src/ops/string.ops"
VTABLE_i_repeat(interp, PREG(1), PREG(2));
return (opcode_t *)cur_opcode + 3;}
@@ -26637,50 +27649,39 @@
opcode_t *
Parrot_length_i_s(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
- IREG(1) = SREG(2) ? Parrot_str_byte_length(interp, SREG(2)) : 0;
+#line 187 "src/ops/string.ops"
+ IREG(1) = Parrot_str_length(interp, SREG(2));
return (opcode_t *)cur_opcode + 3;}
opcode_t *
Parrot_length_i_sc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
- IREG(1) = CONST(2)->u.string ? Parrot_str_byte_length(interp, CONST(2)->u.string) : 0;
+#line 187 "src/ops/string.ops"
+ IREG(1) = Parrot_str_length(interp, CONST(2)->u.string);
return (opcode_t *)cur_opcode + 3;}
opcode_t *
Parrot_bytelength_i_s(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
- UINTVAL n;
- const STRING * const s = SREG(2);
- if (STRING_IS_NULL(s))
- n = 0;
- else {
- n = s->bufused;
- PARROT_ASSERT(n == ENCODING_BYTES(interp, SREG(2)));
- }
- IREG(1) = n;
+#line 191 "src/ops/string.ops"
+ IREG(1) = Parrot_str_byte_length(interp, SREG(2));
return (opcode_t *)cur_opcode + 3;}
opcode_t *
Parrot_bytelength_i_sc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
- UINTVAL n;
- const STRING * const s = CONST(2)->u.string;
- if (STRING_IS_NULL(s))
- n = 0;
- else {
- n = s->bufused;
- PARROT_ASSERT(n == ENCODING_BYTES(interp, CONST(2)->u.string));
- }
- IREG(1) = n;
+#line 191 "src/ops/string.ops"
+ IREG(1) = Parrot_str_byte_length(interp, CONST(2)->u.string);
return (opcode_t *)cur_opcode + 3;}
opcode_t *
Parrot_pin_s(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 206 "src/ops/string.ops"
Parrot_str_pin(interp, SREG(1));
return (opcode_t *)cur_opcode + 2;}
@@ -26688,6 +27689,7 @@
opcode_t *
Parrot_unpin_s(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 218 "src/ops/string.ops"
Parrot_str_unpin(interp, SREG(1));
return (opcode_t *)cur_opcode + 2;}
@@ -26695,6 +27697,7 @@
opcode_t *
Parrot_substr_s_s_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 251 "src/ops/string.ops"
const INTVAL len = Parrot_str_byte_length(interp, SREG(2));
SREG(1) = Parrot_str_substr(interp, SREG(2), IREG(3), len);
@@ -26703,6 +27706,7 @@
opcode_t *
Parrot_substr_s_sc_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 251 "src/ops/string.ops"
const INTVAL len = Parrot_str_byte_length(interp, CONST(2)->u.string);
SREG(1) = Parrot_str_substr(interp, CONST(2)->u.string, IREG(3), len);
@@ -26711,6 +27715,7 @@
opcode_t *
Parrot_substr_s_s_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 251 "src/ops/string.ops"
const INTVAL len = Parrot_str_byte_length(interp, SREG(2));
SREG(1) = Parrot_str_substr(interp, SREG(2), cur_opcode[3], len);
@@ -26719,6 +27724,7 @@
opcode_t *
Parrot_substr_s_sc_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 251 "src/ops/string.ops"
const INTVAL len = Parrot_str_byte_length(interp, CONST(2)->u.string);
SREG(1) = Parrot_str_substr(interp, CONST(2)->u.string, cur_opcode[3], len);
@@ -26727,6 +27733,7 @@
opcode_t *
Parrot_substr_s_s_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 256 "src/ops/string.ops"
SREG(1) = Parrot_str_substr(interp, SREG(2), IREG(3), IREG(4));
return (opcode_t *)cur_opcode + 5;}
@@ -26734,6 +27741,7 @@
opcode_t *
Parrot_substr_s_sc_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 256 "src/ops/string.ops"
SREG(1) = Parrot_str_substr(interp, CONST(2)->u.string, IREG(3), IREG(4));
return (opcode_t *)cur_opcode + 5;}
@@ -26741,6 +27749,7 @@
opcode_t *
Parrot_substr_s_s_ic_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 256 "src/ops/string.ops"
SREG(1) = Parrot_str_substr(interp, SREG(2), cur_opcode[3], IREG(4));
return (opcode_t *)cur_opcode + 5;}
@@ -26748,6 +27757,7 @@
opcode_t *
Parrot_substr_s_sc_ic_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 256 "src/ops/string.ops"
SREG(1) = Parrot_str_substr(interp, CONST(2)->u.string, cur_opcode[3], IREG(4));
return (opcode_t *)cur_opcode + 5;}
@@ -26755,6 +27765,7 @@
opcode_t *
Parrot_substr_s_s_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 256 "src/ops/string.ops"
SREG(1) = Parrot_str_substr(interp, SREG(2), IREG(3), cur_opcode[4]);
return (opcode_t *)cur_opcode + 5;}
@@ -26762,6 +27773,7 @@
opcode_t *
Parrot_substr_s_sc_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 256 "src/ops/string.ops"
SREG(1) = Parrot_str_substr(interp, CONST(2)->u.string, IREG(3), cur_opcode[4]);
return (opcode_t *)cur_opcode + 5;}
@@ -26769,6 +27781,7 @@
opcode_t *
Parrot_substr_s_s_ic_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 256 "src/ops/string.ops"
SREG(1) = Parrot_str_substr(interp, SREG(2), cur_opcode[3], cur_opcode[4]);
return (opcode_t *)cur_opcode + 5;}
@@ -26776,6 +27789,7 @@
opcode_t *
Parrot_substr_s_sc_ic_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 256 "src/ops/string.ops"
SREG(1) = Parrot_str_substr(interp, CONST(2)->u.string, cur_opcode[3], cur_opcode[4]);
return (opcode_t *)cur_opcode + 5;}
@@ -26783,6 +27797,7 @@
opcode_t *
Parrot_substr_s_p_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 260 "src/ops/string.ops"
SREG(1) = VTABLE_substr_str(interp, PREG(2), IREG(3), IREG(4));
return (opcode_t *)cur_opcode + 5;}
@@ -26790,6 +27805,7 @@
opcode_t *
Parrot_substr_s_p_ic_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 260 "src/ops/string.ops"
SREG(1) = VTABLE_substr_str(interp, PREG(2), cur_opcode[3], IREG(4));
return (opcode_t *)cur_opcode + 5;}
@@ -26797,6 +27813,7 @@
opcode_t *
Parrot_substr_s_p_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 260 "src/ops/string.ops"
SREG(1) = VTABLE_substr_str(interp, PREG(2), IREG(3), cur_opcode[4]);
return (opcode_t *)cur_opcode + 5;}
@@ -26804,6 +27821,7 @@
opcode_t *
Parrot_substr_s_p_ic_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 260 "src/ops/string.ops"
SREG(1) = VTABLE_substr_str(interp, PREG(2), cur_opcode[3], cur_opcode[4]);
return (opcode_t *)cur_opcode + 5;}
@@ -26811,6 +27829,7 @@
opcode_t *
Parrot_replace_s_s_i_i_s(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 264 "src/ops/string.ops"
SREG(1) = Parrot_str_replace(interp, SREG(2), IREG(3), IREG(4), SREG(5));
return (opcode_t *)cur_opcode + 6;}
@@ -26818,6 +27837,7 @@
opcode_t *
Parrot_replace_s_sc_i_i_s(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 264 "src/ops/string.ops"
SREG(1) = Parrot_str_replace(interp, CONST(2)->u.string, IREG(3), IREG(4), SREG(5));
return (opcode_t *)cur_opcode + 6;}
@@ -26825,6 +27845,7 @@
opcode_t *
Parrot_replace_s_s_ic_i_s(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 264 "src/ops/string.ops"
SREG(1) = Parrot_str_replace(interp, SREG(2), cur_opcode[3], IREG(4), SREG(5));
return (opcode_t *)cur_opcode + 6;}
@@ -26832,6 +27853,7 @@
opcode_t *
Parrot_replace_s_sc_ic_i_s(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 264 "src/ops/string.ops"
SREG(1) = Parrot_str_replace(interp, CONST(2)->u.string, cur_opcode[3], IREG(4), SREG(5));
return (opcode_t *)cur_opcode + 6;}
@@ -26839,6 +27861,7 @@
opcode_t *
Parrot_replace_s_s_i_ic_s(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 264 "src/ops/string.ops"
SREG(1) = Parrot_str_replace(interp, SREG(2), IREG(3), cur_opcode[4], SREG(5));
return (opcode_t *)cur_opcode + 6;}
@@ -26846,6 +27869,7 @@
opcode_t *
Parrot_replace_s_sc_i_ic_s(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 264 "src/ops/string.ops"
SREG(1) = Parrot_str_replace(interp, CONST(2)->u.string, IREG(3), cur_opcode[4], SREG(5));
return (opcode_t *)cur_opcode + 6;}
@@ -26853,6 +27877,7 @@
opcode_t *
Parrot_replace_s_s_ic_ic_s(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 264 "src/ops/string.ops"
SREG(1) = Parrot_str_replace(interp, SREG(2), cur_opcode[3], cur_opcode[4], SREG(5));
return (opcode_t *)cur_opcode + 6;}
@@ -26860,6 +27885,7 @@
opcode_t *
Parrot_replace_s_sc_ic_ic_s(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 264 "src/ops/string.ops"
SREG(1) = Parrot_str_replace(interp, CONST(2)->u.string, cur_opcode[3], cur_opcode[4], SREG(5));
return (opcode_t *)cur_opcode + 6;}
@@ -26867,6 +27893,7 @@
opcode_t *
Parrot_replace_s_s_i_i_sc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 264 "src/ops/string.ops"
SREG(1) = Parrot_str_replace(interp, SREG(2), IREG(3), IREG(4), CONST(5)->u.string);
return (opcode_t *)cur_opcode + 6;}
@@ -26874,6 +27901,7 @@
opcode_t *
Parrot_replace_s_sc_i_i_sc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 264 "src/ops/string.ops"
SREG(1) = Parrot_str_replace(interp, CONST(2)->u.string, IREG(3), IREG(4), CONST(5)->u.string);
return (opcode_t *)cur_opcode + 6;}
@@ -26881,6 +27909,7 @@
opcode_t *
Parrot_replace_s_s_ic_i_sc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 264 "src/ops/string.ops"
SREG(1) = Parrot_str_replace(interp, SREG(2), cur_opcode[3], IREG(4), CONST(5)->u.string);
return (opcode_t *)cur_opcode + 6;}
@@ -26888,6 +27917,7 @@
opcode_t *
Parrot_replace_s_sc_ic_i_sc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 264 "src/ops/string.ops"
SREG(1) = Parrot_str_replace(interp, CONST(2)->u.string, cur_opcode[3], IREG(4), CONST(5)->u.string);
return (opcode_t *)cur_opcode + 6;}
@@ -26895,6 +27925,7 @@
opcode_t *
Parrot_replace_s_s_i_ic_sc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 264 "src/ops/string.ops"
SREG(1) = Parrot_str_replace(interp, SREG(2), IREG(3), cur_opcode[4], CONST(5)->u.string);
return (opcode_t *)cur_opcode + 6;}
@@ -26902,6 +27933,7 @@
opcode_t *
Parrot_replace_s_sc_i_ic_sc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 264 "src/ops/string.ops"
SREG(1) = Parrot_str_replace(interp, CONST(2)->u.string, IREG(3), cur_opcode[4], CONST(5)->u.string);
return (opcode_t *)cur_opcode + 6;}
@@ -26909,6 +27941,7 @@
opcode_t *
Parrot_replace_s_s_ic_ic_sc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 264 "src/ops/string.ops"
SREG(1) = Parrot_str_replace(interp, SREG(2), cur_opcode[3], cur_opcode[4], CONST(5)->u.string);
return (opcode_t *)cur_opcode + 6;}
@@ -26916,6 +27949,7 @@
opcode_t *
Parrot_replace_s_sc_ic_ic_sc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 264 "src/ops/string.ops"
SREG(1) = Parrot_str_replace(interp, CONST(2)->u.string, cur_opcode[3], cur_opcode[4], CONST(5)->u.string);
return (opcode_t *)cur_opcode + 6;}
@@ -26923,6 +27957,7 @@
opcode_t *
Parrot_index_i_s_s(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 284 "src/ops/string.ops"
IREG(1) = (SREG(2) && SREG(3)) ? Parrot_str_find_index(interp, SREG(2), SREG(3), 0) : -1;
return (opcode_t *)cur_opcode + 4;}
@@ -26930,6 +27965,7 @@
opcode_t *
Parrot_index_i_sc_s(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 284 "src/ops/string.ops"
IREG(1) = (CONST(2)->u.string && SREG(3)) ? Parrot_str_find_index(interp, CONST(2)->u.string, SREG(3), 0) : -1;
return (opcode_t *)cur_opcode + 4;}
@@ -26937,6 +27973,7 @@
opcode_t *
Parrot_index_i_s_sc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 284 "src/ops/string.ops"
IREG(1) = (SREG(2) && CONST(3)->u.string) ? Parrot_str_find_index(interp, SREG(2), CONST(3)->u.string, 0) : -1;
return (opcode_t *)cur_opcode + 4;}
@@ -26944,6 +27981,7 @@
opcode_t *
Parrot_index_i_sc_sc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 284 "src/ops/string.ops"
IREG(1) = (CONST(2)->u.string && CONST(3)->u.string) ? Parrot_str_find_index(interp, CONST(2)->u.string, CONST(3)->u.string, 0) : -1;
return (opcode_t *)cur_opcode + 4;}
@@ -26951,6 +27989,7 @@
opcode_t *
Parrot_index_i_s_s_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 288 "src/ops/string.ops"
IREG(1) = (SREG(2) && SREG(3)) ? Parrot_str_find_index(interp, SREG(2), SREG(3), IREG(4)) : -1;
return (opcode_t *)cur_opcode + 5;}
@@ -26958,6 +27997,7 @@
opcode_t *
Parrot_index_i_sc_s_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 288 "src/ops/string.ops"
IREG(1) = (CONST(2)->u.string && SREG(3)) ? Parrot_str_find_index(interp, CONST(2)->u.string, SREG(3), IREG(4)) : -1;
return (opcode_t *)cur_opcode + 5;}
@@ -26965,6 +28005,7 @@
opcode_t *
Parrot_index_i_s_sc_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 288 "src/ops/string.ops"
IREG(1) = (SREG(2) && CONST(3)->u.string) ? Parrot_str_find_index(interp, SREG(2), CONST(3)->u.string, IREG(4)) : -1;
return (opcode_t *)cur_opcode + 5;}
@@ -26972,6 +28013,7 @@
opcode_t *
Parrot_index_i_sc_sc_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 288 "src/ops/string.ops"
IREG(1) = (CONST(2)->u.string && CONST(3)->u.string) ? Parrot_str_find_index(interp, CONST(2)->u.string, CONST(3)->u.string, IREG(4)) : -1;
return (opcode_t *)cur_opcode + 5;}
@@ -26979,6 +28021,7 @@
opcode_t *
Parrot_index_i_s_s_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 288 "src/ops/string.ops"
IREG(1) = (SREG(2) && SREG(3)) ? Parrot_str_find_index(interp, SREG(2), SREG(3), cur_opcode[4]) : -1;
return (opcode_t *)cur_opcode + 5;}
@@ -26986,6 +28029,7 @@
opcode_t *
Parrot_index_i_sc_s_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 288 "src/ops/string.ops"
IREG(1) = (CONST(2)->u.string && SREG(3)) ? Parrot_str_find_index(interp, CONST(2)->u.string, SREG(3), cur_opcode[4]) : -1;
return (opcode_t *)cur_opcode + 5;}
@@ -26993,6 +28037,7 @@
opcode_t *
Parrot_index_i_s_sc_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 288 "src/ops/string.ops"
IREG(1) = (SREG(2) && CONST(3)->u.string) ? Parrot_str_find_index(interp, SREG(2), CONST(3)->u.string, cur_opcode[4]) : -1;
return (opcode_t *)cur_opcode + 5;}
@@ -27000,6 +28045,7 @@
opcode_t *
Parrot_index_i_sc_sc_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 288 "src/ops/string.ops"
IREG(1) = (CONST(2)->u.string && CONST(3)->u.string) ? Parrot_str_find_index(interp, CONST(2)->u.string, CONST(3)->u.string, cur_opcode[4]) : -1;
return (opcode_t *)cur_opcode + 5;}
@@ -27007,6 +28053,7 @@
opcode_t *
Parrot_sprintf_s_s_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 308 "src/ops/string.ops"
SREG(1)=Parrot_psprintf(interp, SREG(2), PREG(3));
return (opcode_t *)cur_opcode + 4;}
@@ -27014,6 +28061,7 @@
opcode_t *
Parrot_sprintf_s_sc_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 308 "src/ops/string.ops"
SREG(1)=Parrot_psprintf(interp, CONST(2)->u.string, PREG(3));
return (opcode_t *)cur_opcode + 4;}
@@ -27021,6 +28069,7 @@
opcode_t *
Parrot_sprintf_p_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 312 "src/ops/string.ops"
VTABLE_set_string_native(interp, PREG(1),
Parrot_psprintf(interp, VTABLE_get_string(interp, PREG(2)), PREG(3)));
@@ -27029,6 +28078,7 @@
opcode_t *
Parrot_new_s(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 326 "src/ops/string.ops"
SREG(1) = Parrot_str_new_noinit(interp, enum_stringrep_one, 0);
return (opcode_t *)cur_opcode + 2;}
@@ -27036,6 +28086,7 @@
opcode_t *
Parrot_new_s_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 330 "src/ops/string.ops"
SREG(1) = Parrot_str_new_noinit(interp, enum_stringrep_one, IREG(2));
return (opcode_t *)cur_opcode + 3;}
@@ -27043,6 +28094,7 @@
opcode_t *
Parrot_new_s_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 330 "src/ops/string.ops"
SREG(1) = Parrot_str_new_noinit(interp, enum_stringrep_one, cur_opcode[2]);
return (opcode_t *)cur_opcode + 3;}
@@ -27050,6 +28102,7 @@
opcode_t *
Parrot_stringinfo_i_s_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 360 "src/ops/string.ops"
if (SREG(2) == NULL)
IREG(1) = 0;
else {
@@ -27087,6 +28140,7 @@
opcode_t *
Parrot_stringinfo_i_sc_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 360 "src/ops/string.ops"
if (CONST(2)->u.string == NULL)
IREG(1) = 0;
else {
@@ -27124,6 +28178,7 @@
opcode_t *
Parrot_stringinfo_i_s_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 360 "src/ops/string.ops"
if (SREG(2) == NULL)
IREG(1) = 0;
else {
@@ -27161,6 +28216,7 @@
opcode_t *
Parrot_stringinfo_i_sc_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 360 "src/ops/string.ops"
if (CONST(2)->u.string == NULL)
IREG(1) = 0;
else {
@@ -27198,6 +28254,7 @@
opcode_t *
Parrot_upcase_s_s(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 401 "src/ops/string.ops"
SREG(1) = Parrot_str_upcase(interp, SREG(2));
return (opcode_t *)cur_opcode + 3;}
@@ -27205,6 +28262,7 @@
opcode_t *
Parrot_upcase_s_sc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 401 "src/ops/string.ops"
SREG(1) = Parrot_str_upcase(interp, CONST(2)->u.string);
return (opcode_t *)cur_opcode + 3;}
@@ -27212,6 +28270,7 @@
opcode_t *
Parrot_downcase_s_s(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 411 "src/ops/string.ops"
SREG(1) = Parrot_str_downcase(interp, SREG(2));
return (opcode_t *)cur_opcode + 3;}
@@ -27219,6 +28278,7 @@
opcode_t *
Parrot_downcase_s_sc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 411 "src/ops/string.ops"
SREG(1) = Parrot_str_downcase(interp, CONST(2)->u.string);
return (opcode_t *)cur_opcode + 3;}
@@ -27226,6 +28286,7 @@
opcode_t *
Parrot_titlecase_s_s(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 421 "src/ops/string.ops"
SREG(1) = Parrot_str_titlecase(interp, SREG(2));
return (opcode_t *)cur_opcode + 3;}
@@ -27233,6 +28294,7 @@
opcode_t *
Parrot_titlecase_s_sc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 421 "src/ops/string.ops"
SREG(1) = Parrot_str_titlecase(interp, CONST(2)->u.string);
return (opcode_t *)cur_opcode + 3;}
@@ -27240,6 +28302,7 @@
opcode_t *
Parrot_join_s_s_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 443 "src/ops/string.ops"
SREG(1) = Parrot_str_join(interp, SREG(2), PREG(3));
return (opcode_t *)cur_opcode + 4;}
@@ -27247,6 +28310,7 @@
opcode_t *
Parrot_join_s_sc_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 443 "src/ops/string.ops"
SREG(1) = Parrot_str_join(interp, CONST(2)->u.string, PREG(3));
return (opcode_t *)cur_opcode + 4;}
@@ -27254,6 +28318,7 @@
opcode_t *
Parrot_split_p_s_s(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 447 "src/ops/string.ops"
PREG(1) = Parrot_str_split(interp, SREG(2), SREG(3));
return (opcode_t *)cur_opcode + 4;}
@@ -27261,6 +28326,7 @@
opcode_t *
Parrot_split_p_sc_s(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 447 "src/ops/string.ops"
PREG(1) = Parrot_str_split(interp, CONST(2)->u.string, SREG(3));
return (opcode_t *)cur_opcode + 4;}
@@ -27268,6 +28334,7 @@
opcode_t *
Parrot_split_p_s_sc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 447 "src/ops/string.ops"
PREG(1) = Parrot_str_split(interp, SREG(2), CONST(3)->u.string);
return (opcode_t *)cur_opcode + 4;}
@@ -27275,6 +28342,7 @@
opcode_t *
Parrot_split_p_sc_sc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 447 "src/ops/string.ops"
PREG(1) = Parrot_str_split(interp, CONST(2)->u.string, CONST(3)->u.string);
return (opcode_t *)cur_opcode + 4;}
@@ -27282,6 +28350,7 @@
opcode_t *
Parrot_charset_i_s(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 474 "src/ops/string.ops"
IREG(1) = Parrot_charset_number_of_str(interp, SREG(2));
return (opcode_t *)cur_opcode + 3;}
@@ -27289,6 +28358,7 @@
opcode_t *
Parrot_charset_i_sc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 474 "src/ops/string.ops"
IREG(1) = Parrot_charset_number_of_str(interp, CONST(2)->u.string);
return (opcode_t *)cur_opcode + 3;}
@@ -27296,6 +28366,7 @@
opcode_t *
Parrot_charsetname_s_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 478 "src/ops/string.ops"
SREG(1) = Parrot_charset_name(interp, IREG(2));
return (opcode_t *)cur_opcode + 3;}
@@ -27303,6 +28374,7 @@
opcode_t *
Parrot_charsetname_s_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 478 "src/ops/string.ops"
SREG(1) = Parrot_charset_name(interp, cur_opcode[2]);
return (opcode_t *)cur_opcode + 3;}
@@ -27310,6 +28382,7 @@
opcode_t *
Parrot_find_charset_i_s(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 482 "src/ops/string.ops"
const INTVAL n = Parrot_charset_number(interp, SREG(2));
if (n < 0) {
opcode_t *handler = Parrot_ex_throw_from_op_args(interp, NULL,
@@ -27324,6 +28397,7 @@
opcode_t *
Parrot_find_charset_i_sc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 482 "src/ops/string.ops"
const INTVAL n = Parrot_charset_number(interp, CONST(2)->u.string);
if (n < 0) {
opcode_t *handler = Parrot_ex_throw_from_op_args(interp, NULL,
@@ -27338,6 +28412,7 @@
opcode_t *
Parrot_trans_charset_s_s_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 493 "src/ops/string.ops"
SREG(1) = Parrot_str_change_charset(interp, SREG(2), IREG(3));
return (opcode_t *)cur_opcode + 4;}
@@ -27345,6 +28420,7 @@
opcode_t *
Parrot_trans_charset_s_sc_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 493 "src/ops/string.ops"
SREG(1) = Parrot_str_change_charset(interp, CONST(2)->u.string, IREG(3));
return (opcode_t *)cur_opcode + 4;}
@@ -27352,6 +28428,7 @@
opcode_t *
Parrot_trans_charset_s_s_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 493 "src/ops/string.ops"
SREG(1) = Parrot_str_change_charset(interp, SREG(2), cur_opcode[3]);
return (opcode_t *)cur_opcode + 4;}
@@ -27359,6 +28436,7 @@
opcode_t *
Parrot_trans_charset_s_sc_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 493 "src/ops/string.ops"
SREG(1) = Parrot_str_change_charset(interp, CONST(2)->u.string, cur_opcode[3]);
return (opcode_t *)cur_opcode + 4;}
@@ -27366,6 +28444,7 @@
opcode_t *
Parrot_encoding_i_s(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 520 "src/ops/string.ops"
IREG(1) = Parrot_encoding_number_of_str(interp, SREG(2));
return (opcode_t *)cur_opcode + 3;}
@@ -27373,6 +28452,7 @@
opcode_t *
Parrot_encoding_i_sc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 520 "src/ops/string.ops"
IREG(1) = Parrot_encoding_number_of_str(interp, CONST(2)->u.string);
return (opcode_t *)cur_opcode + 3;}
@@ -27380,6 +28460,7 @@
opcode_t *
Parrot_encodingname_s_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 524 "src/ops/string.ops"
SREG(1) = Parrot_encoding_name(interp, IREG(2));
return (opcode_t *)cur_opcode + 3;}
@@ -27387,6 +28468,7 @@
opcode_t *
Parrot_encodingname_s_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 524 "src/ops/string.ops"
SREG(1) = Parrot_encoding_name(interp, cur_opcode[2]);
return (opcode_t *)cur_opcode + 3;}
@@ -27394,6 +28476,7 @@
opcode_t *
Parrot_find_encoding_i_s(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 528 "src/ops/string.ops"
const INTVAL n = Parrot_encoding_number(interp, SREG(2));
if (n < 0) {
opcode_t *handler = Parrot_ex_throw_from_op_args(interp, NULL,
@@ -27408,6 +28491,7 @@
opcode_t *
Parrot_find_encoding_i_sc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 528 "src/ops/string.ops"
const INTVAL n = Parrot_encoding_number(interp, CONST(2)->u.string);
if (n < 0) {
opcode_t *handler = Parrot_ex_throw_from_op_args(interp, NULL,
@@ -27422,6 +28506,7 @@
opcode_t *
Parrot_trans_encoding_s_s_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 539 "src/ops/string.ops"
SREG(1) = Parrot_str_change_encoding(interp, SREG(2), IREG(3));
return (opcode_t *)cur_opcode + 4;}
@@ -27429,6 +28514,7 @@
opcode_t *
Parrot_trans_encoding_s_sc_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 539 "src/ops/string.ops"
SREG(1) = Parrot_str_change_encoding(interp, CONST(2)->u.string, IREG(3));
return (opcode_t *)cur_opcode + 4;}
@@ -27436,6 +28522,7 @@
opcode_t *
Parrot_trans_encoding_s_s_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 539 "src/ops/string.ops"
SREG(1) = Parrot_str_change_encoding(interp, SREG(2), cur_opcode[3]);
return (opcode_t *)cur_opcode + 4;}
@@ -27443,6 +28530,7 @@
opcode_t *
Parrot_trans_encoding_s_sc_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 539 "src/ops/string.ops"
SREG(1) = Parrot_str_change_encoding(interp, CONST(2)->u.string, cur_opcode[3]);
return (opcode_t *)cur_opcode + 4;}
@@ -27450,6 +28538,7 @@
opcode_t *
Parrot_is_cclass_i_i_s_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 551 "src/ops/string.ops"
IREG(1) = Parrot_str_is_cclass(interp, IREG(2), SREG(3), IREG(4));
return (opcode_t *)cur_opcode + 5;}
@@ -27457,6 +28546,7 @@
opcode_t *
Parrot_is_cclass_i_ic_s_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 551 "src/ops/string.ops"
IREG(1) = Parrot_str_is_cclass(interp, cur_opcode[2], SREG(3), IREG(4));
return (opcode_t *)cur_opcode + 5;}
@@ -27464,6 +28554,7 @@
opcode_t *
Parrot_is_cclass_i_i_sc_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 551 "src/ops/string.ops"
IREG(1) = Parrot_str_is_cclass(interp, IREG(2), CONST(3)->u.string, IREG(4));
return (opcode_t *)cur_opcode + 5;}
@@ -27471,6 +28562,7 @@
opcode_t *
Parrot_is_cclass_i_ic_sc_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 551 "src/ops/string.ops"
IREG(1) = Parrot_str_is_cclass(interp, cur_opcode[2], CONST(3)->u.string, IREG(4));
return (opcode_t *)cur_opcode + 5;}
@@ -27478,6 +28570,7 @@
opcode_t *
Parrot_is_cclass_i_i_s_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 551 "src/ops/string.ops"
IREG(1) = Parrot_str_is_cclass(interp, IREG(2), SREG(3), cur_opcode[4]);
return (opcode_t *)cur_opcode + 5;}
@@ -27485,6 +28578,7 @@
opcode_t *
Parrot_is_cclass_i_ic_s_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 551 "src/ops/string.ops"
IREG(1) = Parrot_str_is_cclass(interp, cur_opcode[2], SREG(3), cur_opcode[4]);
return (opcode_t *)cur_opcode + 5;}
@@ -27492,6 +28586,7 @@
opcode_t *
Parrot_is_cclass_i_i_sc_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 551 "src/ops/string.ops"
IREG(1) = Parrot_str_is_cclass(interp, IREG(2), CONST(3)->u.string, cur_opcode[4]);
return (opcode_t *)cur_opcode + 5;}
@@ -27499,6 +28594,7 @@
opcode_t *
Parrot_is_cclass_i_ic_sc_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 551 "src/ops/string.ops"
IREG(1) = Parrot_str_is_cclass(interp, cur_opcode[2], CONST(3)->u.string, cur_opcode[4]);
return (opcode_t *)cur_opcode + 5;}
@@ -27506,6 +28602,7 @@
opcode_t *
Parrot_find_cclass_i_i_s_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 565 "src/ops/string.ops"
IREG(1) = Parrot_str_find_cclass(interp, IREG(2), SREG(3), IREG(4), IREG(5));
return (opcode_t *)cur_opcode + 6;}
@@ -27513,6 +28610,7 @@
opcode_t *
Parrot_find_cclass_i_ic_s_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 565 "src/ops/string.ops"
IREG(1) = Parrot_str_find_cclass(interp, cur_opcode[2], SREG(3), IREG(4), IREG(5));
return (opcode_t *)cur_opcode + 6;}
@@ -27520,6 +28618,7 @@
opcode_t *
Parrot_find_cclass_i_i_sc_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 565 "src/ops/string.ops"
IREG(1) = Parrot_str_find_cclass(interp, IREG(2), CONST(3)->u.string, IREG(4), IREG(5));
return (opcode_t *)cur_opcode + 6;}
@@ -27527,6 +28626,7 @@
opcode_t *
Parrot_find_cclass_i_ic_sc_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 565 "src/ops/string.ops"
IREG(1) = Parrot_str_find_cclass(interp, cur_opcode[2], CONST(3)->u.string, IREG(4), IREG(5));
return (opcode_t *)cur_opcode + 6;}
@@ -27534,6 +28634,7 @@
opcode_t *
Parrot_find_cclass_i_i_s_ic_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 565 "src/ops/string.ops"
IREG(1) = Parrot_str_find_cclass(interp, IREG(2), SREG(3), cur_opcode[4], IREG(5));
return (opcode_t *)cur_opcode + 6;}
@@ -27541,6 +28642,7 @@
opcode_t *
Parrot_find_cclass_i_ic_s_ic_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 565 "src/ops/string.ops"
IREG(1) = Parrot_str_find_cclass(interp, cur_opcode[2], SREG(3), cur_opcode[4], IREG(5));
return (opcode_t *)cur_opcode + 6;}
@@ -27548,6 +28650,7 @@
opcode_t *
Parrot_find_cclass_i_i_sc_ic_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 565 "src/ops/string.ops"
IREG(1) = Parrot_str_find_cclass(interp, IREG(2), CONST(3)->u.string, cur_opcode[4], IREG(5));
return (opcode_t *)cur_opcode + 6;}
@@ -27555,6 +28658,7 @@
opcode_t *
Parrot_find_cclass_i_ic_sc_ic_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 565 "src/ops/string.ops"
IREG(1) = Parrot_str_find_cclass(interp, cur_opcode[2], CONST(3)->u.string, cur_opcode[4], IREG(5));
return (opcode_t *)cur_opcode + 6;}
@@ -27562,6 +28666,7 @@
opcode_t *
Parrot_find_cclass_i_i_s_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 565 "src/ops/string.ops"
IREG(1) = Parrot_str_find_cclass(interp, IREG(2), SREG(3), IREG(4), cur_opcode[5]);
return (opcode_t *)cur_opcode + 6;}
@@ -27569,6 +28674,7 @@
opcode_t *
Parrot_find_cclass_i_ic_s_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 565 "src/ops/string.ops"
IREG(1) = Parrot_str_find_cclass(interp, cur_opcode[2], SREG(3), IREG(4), cur_opcode[5]);
return (opcode_t *)cur_opcode + 6;}
@@ -27576,6 +28682,7 @@
opcode_t *
Parrot_find_cclass_i_i_sc_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 565 "src/ops/string.ops"
IREG(1) = Parrot_str_find_cclass(interp, IREG(2), CONST(3)->u.string, IREG(4), cur_opcode[5]);
return (opcode_t *)cur_opcode + 6;}
@@ -27583,6 +28690,7 @@
opcode_t *
Parrot_find_cclass_i_ic_sc_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 565 "src/ops/string.ops"
IREG(1) = Parrot_str_find_cclass(interp, cur_opcode[2], CONST(3)->u.string, IREG(4), cur_opcode[5]);
return (opcode_t *)cur_opcode + 6;}
@@ -27590,6 +28698,7 @@
opcode_t *
Parrot_find_cclass_i_i_s_ic_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 565 "src/ops/string.ops"
IREG(1) = Parrot_str_find_cclass(interp, IREG(2), SREG(3), cur_opcode[4], cur_opcode[5]);
return (opcode_t *)cur_opcode + 6;}
@@ -27597,6 +28706,7 @@
opcode_t *
Parrot_find_cclass_i_ic_s_ic_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 565 "src/ops/string.ops"
IREG(1) = Parrot_str_find_cclass(interp, cur_opcode[2], SREG(3), cur_opcode[4], cur_opcode[5]);
return (opcode_t *)cur_opcode + 6;}
@@ -27604,6 +28714,7 @@
opcode_t *
Parrot_find_cclass_i_i_sc_ic_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 565 "src/ops/string.ops"
IREG(1) = Parrot_str_find_cclass(interp, IREG(2), CONST(3)->u.string, cur_opcode[4], cur_opcode[5]);
return (opcode_t *)cur_opcode + 6;}
@@ -27611,6 +28722,7 @@
opcode_t *
Parrot_find_cclass_i_ic_sc_ic_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 565 "src/ops/string.ops"
IREG(1) = Parrot_str_find_cclass(interp, cur_opcode[2], CONST(3)->u.string, cur_opcode[4], cur_opcode[5]);
return (opcode_t *)cur_opcode + 6;}
@@ -27618,6 +28730,7 @@
opcode_t *
Parrot_find_not_cclass_i_i_s_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 579 "src/ops/string.ops"
IREG(1) = Parrot_str_find_not_cclass(interp, IREG(2), SREG(3), IREG(4), IREG(5));
return (opcode_t *)cur_opcode + 6;}
@@ -27625,6 +28738,7 @@
opcode_t *
Parrot_find_not_cclass_i_ic_s_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 579 "src/ops/string.ops"
IREG(1) = Parrot_str_find_not_cclass(interp, cur_opcode[2], SREG(3), IREG(4), IREG(5));
return (opcode_t *)cur_opcode + 6;}
@@ -27632,6 +28746,7 @@
opcode_t *
Parrot_find_not_cclass_i_i_sc_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 579 "src/ops/string.ops"
IREG(1) = Parrot_str_find_not_cclass(interp, IREG(2), CONST(3)->u.string, IREG(4), IREG(5));
return (opcode_t *)cur_opcode + 6;}
@@ -27639,6 +28754,7 @@
opcode_t *
Parrot_find_not_cclass_i_ic_sc_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 579 "src/ops/string.ops"
IREG(1) = Parrot_str_find_not_cclass(interp, cur_opcode[2], CONST(3)->u.string, IREG(4), IREG(5));
return (opcode_t *)cur_opcode + 6;}
@@ -27646,6 +28762,7 @@
opcode_t *
Parrot_find_not_cclass_i_i_s_ic_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 579 "src/ops/string.ops"
IREG(1) = Parrot_str_find_not_cclass(interp, IREG(2), SREG(3), cur_opcode[4], IREG(5));
return (opcode_t *)cur_opcode + 6;}
@@ -27653,6 +28770,7 @@
opcode_t *
Parrot_find_not_cclass_i_ic_s_ic_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 579 "src/ops/string.ops"
IREG(1) = Parrot_str_find_not_cclass(interp, cur_opcode[2], SREG(3), cur_opcode[4], IREG(5));
return (opcode_t *)cur_opcode + 6;}
@@ -27660,6 +28778,7 @@
opcode_t *
Parrot_find_not_cclass_i_i_sc_ic_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 579 "src/ops/string.ops"
IREG(1) = Parrot_str_find_not_cclass(interp, IREG(2), CONST(3)->u.string, cur_opcode[4], IREG(5));
return (opcode_t *)cur_opcode + 6;}
@@ -27667,6 +28786,7 @@
opcode_t *
Parrot_find_not_cclass_i_ic_sc_ic_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 579 "src/ops/string.ops"
IREG(1) = Parrot_str_find_not_cclass(interp, cur_opcode[2], CONST(3)->u.string, cur_opcode[4], IREG(5));
return (opcode_t *)cur_opcode + 6;}
@@ -27674,6 +28794,7 @@
opcode_t *
Parrot_find_not_cclass_i_i_s_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 579 "src/ops/string.ops"
IREG(1) = Parrot_str_find_not_cclass(interp, IREG(2), SREG(3), IREG(4), cur_opcode[5]);
return (opcode_t *)cur_opcode + 6;}
@@ -27681,6 +28802,7 @@
opcode_t *
Parrot_find_not_cclass_i_ic_s_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 579 "src/ops/string.ops"
IREG(1) = Parrot_str_find_not_cclass(interp, cur_opcode[2], SREG(3), IREG(4), cur_opcode[5]);
return (opcode_t *)cur_opcode + 6;}
@@ -27688,6 +28810,7 @@
opcode_t *
Parrot_find_not_cclass_i_i_sc_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 579 "src/ops/string.ops"
IREG(1) = Parrot_str_find_not_cclass(interp, IREG(2), CONST(3)->u.string, IREG(4), cur_opcode[5]);
return (opcode_t *)cur_opcode + 6;}
@@ -27695,6 +28818,7 @@
opcode_t *
Parrot_find_not_cclass_i_ic_sc_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 579 "src/ops/string.ops"
IREG(1) = Parrot_str_find_not_cclass(interp, cur_opcode[2], CONST(3)->u.string, IREG(4), cur_opcode[5]);
return (opcode_t *)cur_opcode + 6;}
@@ -27702,6 +28826,7 @@
opcode_t *
Parrot_find_not_cclass_i_i_s_ic_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 579 "src/ops/string.ops"
IREG(1) = Parrot_str_find_not_cclass(interp, IREG(2), SREG(3), cur_opcode[4], cur_opcode[5]);
return (opcode_t *)cur_opcode + 6;}
@@ -27709,6 +28834,7 @@
opcode_t *
Parrot_find_not_cclass_i_ic_s_ic_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 579 "src/ops/string.ops"
IREG(1) = Parrot_str_find_not_cclass(interp, cur_opcode[2], SREG(3), cur_opcode[4], cur_opcode[5]);
return (opcode_t *)cur_opcode + 6;}
@@ -27716,6 +28842,7 @@
opcode_t *
Parrot_find_not_cclass_i_i_sc_ic_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 579 "src/ops/string.ops"
IREG(1) = Parrot_str_find_not_cclass(interp, IREG(2), CONST(3)->u.string, cur_opcode[4], cur_opcode[5]);
return (opcode_t *)cur_opcode + 6;}
@@ -27723,6 +28850,7 @@
opcode_t *
Parrot_find_not_cclass_i_ic_sc_ic_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 579 "src/ops/string.ops"
IREG(1) = Parrot_str_find_not_cclass(interp, cur_opcode[2], CONST(3)->u.string, cur_opcode[4], cur_opcode[5]);
return (opcode_t *)cur_opcode + 6;}
@@ -27730,6 +28858,7 @@
opcode_t *
Parrot_escape_s_s(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 595 "src/ops/string.ops"
SREG(1) = Parrot_str_escape(interp, SREG(2));
return (opcode_t *)cur_opcode + 3;}
@@ -27737,6 +28866,7 @@
opcode_t *
Parrot_compose_s_s(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 599 "src/ops/string.ops"
SREG(1) = Parrot_str_compose(interp, SREG(2));
return (opcode_t *)cur_opcode + 3;}
@@ -27744,6 +28874,7 @@
opcode_t *
Parrot_compose_s_sc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 599 "src/ops/string.ops"
SREG(1) = Parrot_str_compose(interp, CONST(2)->u.string);
return (opcode_t *)cur_opcode + 3;}
@@ -27751,6 +28882,7 @@
opcode_t *
Parrot_spawnw_i_s(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 42 "src/ops/sys.ops"
IREG(1) = Parrot_Run_OS_Command(interp, SREG(2));
return (opcode_t *)cur_opcode + 3;}
@@ -27758,6 +28890,7 @@
opcode_t *
Parrot_spawnw_i_sc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 42 "src/ops/sys.ops"
IREG(1) = Parrot_Run_OS_Command(interp, CONST(2)->u.string);
return (opcode_t *)cur_opcode + 3;}
@@ -27765,6 +28898,7 @@
opcode_t *
Parrot_spawnw_i_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 46 "src/ops/sys.ops"
IREG(1) = Parrot_Run_OS_Command_Argv(interp, PREG(2));
return (opcode_t *)cur_opcode + 3;}
@@ -27772,6 +28906,7 @@
opcode_t *
Parrot_err_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 67 "src/ops/sys.ops"
IREG(1) = errno;
return (opcode_t *)cur_opcode + 2;}
@@ -27779,6 +28914,7 @@
opcode_t *
Parrot_err_s(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 71 "src/ops/sys.ops"
const char * const tmp = strerror(errno);
SREG(1) = string_make(interp, tmp, strlen(tmp), "ascii", 0);
@@ -27787,6 +28923,7 @@
opcode_t *
Parrot_err_s_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 76 "src/ops/sys.ops"
const char * const tmp = strerror(IREG(2));
SREG(1) = string_make(interp, tmp, strlen(tmp), "ascii", 0);
@@ -27795,6 +28932,7 @@
opcode_t *
Parrot_err_s_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 76 "src/ops/sys.ops"
const char * const tmp = strerror(cur_opcode[2]);
SREG(1) = string_make(interp, tmp, strlen(tmp), "ascii", 0);
@@ -27803,6 +28941,7 @@
opcode_t *
Parrot_time_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 91 "src/ops/sys.ops"
IREG(1) = Parrot_intval_time();
return (opcode_t *)cur_opcode + 2;}
@@ -27810,6 +28949,7 @@
opcode_t *
Parrot_time_n(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 105 "src/ops/sys.ops"
NREG(1) = Parrot_floatval_time();
return (opcode_t *)cur_opcode + 2;}
@@ -27817,6 +28957,7 @@
opcode_t *
Parrot_gmtime_s_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 178 "src/ops/sys.ops"
struct tm tm;
const time_t t = (time_t) IREG(2);
char resultbuffer[26];
@@ -27829,6 +28970,7 @@
opcode_t *
Parrot_gmtime_s_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 178 "src/ops/sys.ops"
struct tm tm;
const time_t t = (time_t) cur_opcode[2];
char resultbuffer[26];
@@ -27841,6 +28983,7 @@
opcode_t *
Parrot_localtime_s_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 187 "src/ops/sys.ops"
struct tm tm;
const time_t t = (time_t) IREG(2);
char resultbuffer[26];
@@ -27853,6 +28996,7 @@
opcode_t *
Parrot_localtime_s_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 187 "src/ops/sys.ops"
struct tm tm;
const time_t t = (time_t) cur_opcode[2];
char resultbuffer[26];
@@ -27865,6 +29009,7 @@
opcode_t *
Parrot_decodetime_p_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 196 "src/ops/sys.ops"
struct tm tm;
const time_t t = (time_t) IREG(2);
Parrot_gmtime_r(&t, &tm);
@@ -27875,6 +29020,7 @@
opcode_t *
Parrot_decodetime_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 196 "src/ops/sys.ops"
struct tm tm;
const time_t t = (time_t) cur_opcode[2];
Parrot_gmtime_r(&t, &tm);
@@ -27885,6 +29031,7 @@
opcode_t *
Parrot_decodelocaltime_p_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 203 "src/ops/sys.ops"
struct tm tm;
const time_t t = (time_t) IREG(2);
Parrot_localtime_r(&t, &tm);
@@ -27895,6 +29042,7 @@
opcode_t *
Parrot_decodelocaltime_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 203 "src/ops/sys.ops"
struct tm tm;
const time_t t = (time_t) cur_opcode[2];
Parrot_localtime_r(&t, &tm);
@@ -27905,6 +29053,7 @@
opcode_t *
Parrot_sysinfo_s_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 267 "src/ops/sys.ops"
SREG(1) = sysinfo_s(interp, IREG(2));
return (opcode_t *)cur_opcode + 3;}
@@ -27912,6 +29061,7 @@
opcode_t *
Parrot_sysinfo_s_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 267 "src/ops/sys.ops"
SREG(1) = sysinfo_s(interp, cur_opcode[2]);
return (opcode_t *)cur_opcode + 3;}
@@ -27919,6 +29069,7 @@
opcode_t *
Parrot_sysinfo_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 271 "src/ops/sys.ops"
IREG(1) = sysinfo_i(interp, IREG(2));
return (opcode_t *)cur_opcode + 3;}
@@ -27926,6 +29077,7 @@
opcode_t *
Parrot_sysinfo_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 271 "src/ops/sys.ops"
IREG(1) = sysinfo_i(interp, cur_opcode[2]);
return (opcode_t *)cur_opcode + 3;}
@@ -27933,6 +29085,7 @@
opcode_t *
Parrot_sleep_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 285 "src/ops/sys.ops"
opcode_t *next = cur_opcode + 2;
if (IREG(1) < 0) {
opcode_t * const handler = Parrot_ex_throw_from_op_args(interp, next,
@@ -27947,6 +29100,7 @@
opcode_t *
Parrot_sleep_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 285 "src/ops/sys.ops"
opcode_t *next = cur_opcode + 2;
if (cur_opcode[1] < 0) {
opcode_t * const handler = Parrot_ex_throw_from_op_args(interp, next,
@@ -27961,6 +29115,7 @@
opcode_t *
Parrot_sleep_n(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 297 "src/ops/sys.ops"
opcode_t *next = cur_opcode + 2;
if (NREG(1) < 0.0) {
opcode_t * const handler = Parrot_ex_throw_from_op_args(interp, next,
@@ -27975,6 +29130,7 @@
opcode_t *
Parrot_sleep_nc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 297 "src/ops/sys.ops"
opcode_t *next = cur_opcode + 2;
if (CONST(1)->u.number < 0.0) {
opcode_t * const handler = Parrot_ex_throw_from_op_args(interp, next,
@@ -27989,6 +29145,7 @@
opcode_t *
Parrot_sizeof_i_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 317 "src/ops/sys.ops"
INTVAL unused = PARROT_WARNINGS_test(interp,PARROT_WARNINGS_DEPRECATED_FLAG) &&
fprintf(stderr,"Warning: instruction 'sizeof' is deprecated\n");
if (IREG(2) < enum_first_type || IREG(2) >= enum_last_type)
@@ -28001,6 +29158,7 @@
opcode_t *
Parrot_sizeof_i_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 317 "src/ops/sys.ops"
INTVAL unused = PARROT_WARNINGS_test(interp,PARROT_WARNINGS_DEPRECATED_FLAG) &&
fprintf(stderr,"Warning: instruction 'sizeof' is deprecated\n");
if (cur_opcode[2] < enum_first_type || cur_opcode[2] >= enum_last_type)
@@ -28013,6 +29171,7 @@
opcode_t *
Parrot_store_lex_s_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 40 "src/ops/var.ops"
PMC * const ctx = CURRENT_CONTEXT(interp);
STRING * const lex_name = SREG(1);
PMC * const lex_pad = Parrot_find_pad(interp, lex_name, ctx);
@@ -28030,6 +29189,7 @@
opcode_t *
Parrot_store_lex_sc_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 40 "src/ops/var.ops"
PMC * const ctx = CURRENT_CONTEXT(interp);
STRING * const lex_name = CONST(1)->u.string;
PMC * const lex_pad = Parrot_find_pad(interp, lex_name, ctx);
@@ -28047,6 +29207,7 @@
opcode_t *
Parrot_store_dynamic_lex_s_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 65 "src/ops/var.ops"
STRING * const lex_name = SREG(1);
PMC * const ctx =
Parrot_pcc_get_caller_ctx(interp, CURRENT_CONTEXT(interp));
@@ -28068,6 +29229,7 @@
opcode_t *
Parrot_store_dynamic_lex_sc_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 65 "src/ops/var.ops"
STRING * const lex_name = CONST(1)->u.string;
PMC * const ctx =
Parrot_pcc_get_caller_ctx(interp, CURRENT_CONTEXT(interp));
@@ -28089,6 +29251,7 @@
opcode_t *
Parrot_find_lex_p_s(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 94 "src/ops/var.ops"
PMC * const ctx = CURRENT_CONTEXT(interp);
STRING * const lex_name = SREG(2);
PMC * const lex_pad = Parrot_find_pad(interp, lex_name, ctx);
@@ -28110,6 +29273,7 @@
opcode_t *
Parrot_find_lex_p_sc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 94 "src/ops/var.ops"
PMC * const ctx = CURRENT_CONTEXT(interp);
STRING * const lex_name = CONST(2)->u.string;
PMC * const lex_pad = Parrot_find_pad(interp, lex_name, ctx);
@@ -28131,6 +29295,7 @@
opcode_t *
Parrot_find_dynamic_lex_p_s(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 123 "src/ops/var.ops"
STRING * const lex_name = SREG(2);
PMC * const ctx =
Parrot_pcc_get_caller_ctx(interp, CURRENT_CONTEXT(interp));
@@ -28149,6 +29314,7 @@
opcode_t *
Parrot_find_dynamic_lex_p_sc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 123 "src/ops/var.ops"
STRING * const lex_name = CONST(2)->u.string;
PMC * const ctx =
Parrot_pcc_get_caller_ctx(interp, CURRENT_CONTEXT(interp));
@@ -28167,6 +29333,7 @@
opcode_t *
Parrot_find_caller_lex_p_s(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 147 "src/ops/var.ops"
STRING * const lex_name = SREG(2);
PMC * ctx = CURRENT_CONTEXT(interp);
PMC * result = PMCNULL;
@@ -28188,6 +29355,7 @@
opcode_t *
Parrot_find_caller_lex_p_sc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 147 "src/ops/var.ops"
STRING * const lex_name = CONST(2)->u.string;
PMC * ctx = CURRENT_CONTEXT(interp);
PMC * result = PMCNULL;
@@ -28209,6 +29377,7 @@
opcode_t *
Parrot_get_namespace_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 186 "src/ops/var.ops"
PMC * const cur_ns = Parrot_pcc_get_namespace(interp, CURRENT_CONTEXT(interp));
PREG(1) = cur_ns;
@@ -28217,6 +29386,7 @@
opcode_t *
Parrot_get_namespace_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 191 "src/ops/var.ops"
PMC * const cur_ns = Parrot_pcc_get_namespace(interp, CURRENT_CONTEXT(interp));
PMC * const ns = Parrot_get_namespace_keyed(interp, cur_ns, PREG(2));
@@ -28227,6 +29397,7 @@
opcode_t *
Parrot_get_namespace_p_pc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 191 "src/ops/var.ops"
PMC * const cur_ns = Parrot_pcc_get_namespace(interp, CURRENT_CONTEXT(interp));
PMC * const ns = Parrot_get_namespace_keyed(interp, cur_ns, CONST(2)->u.key);
@@ -28237,6 +29408,7 @@
opcode_t *
Parrot_get_hll_namespace_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 210 "src/ops/var.ops"
PMC * const hll_ns = Parrot_get_ctx_HLL_namespace(interp);
PREG(1) = hll_ns;
@@ -28245,6 +29417,7 @@
opcode_t *
Parrot_get_hll_namespace_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 215 "src/ops/var.ops"
PMC * const hll_ns = Parrot_get_ctx_HLL_namespace(interp);
if (PMC_IS_NULL(hll_ns))
PREG(1) = PMCNULL;
@@ -28258,6 +29431,7 @@
opcode_t *
Parrot_get_hll_namespace_p_pc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 215 "src/ops/var.ops"
PMC * const hll_ns = Parrot_get_ctx_HLL_namespace(interp);
if (PMC_IS_NULL(hll_ns))
PREG(1) = PMCNULL;
@@ -28271,6 +29445,7 @@
opcode_t *
Parrot_get_root_namespace_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 236 "src/ops/var.ops"
PMC * const root_ns = interp->root_namespace;
PREG(1) = root_ns;
@@ -28279,6 +29454,7 @@
opcode_t *
Parrot_get_root_namespace_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 241 "src/ops/var.ops"
PMC * const root_ns = interp->root_namespace;
if (PMC_IS_NULL(root_ns))
PREG(1) = PMCNULL;
@@ -28292,6 +29468,7 @@
opcode_t *
Parrot_get_root_namespace_p_pc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 241 "src/ops/var.ops"
PMC * const root_ns = interp->root_namespace;
if (PMC_IS_NULL(root_ns))
PREG(1) = PMCNULL;
@@ -28305,6 +29482,7 @@
opcode_t *
Parrot_get_global_p_s(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 274 "src/ops/var.ops"
PMC * const cur_ns = Parrot_pcc_get_namespace(interp, CURRENT_CONTEXT(interp));
PREG(1) = Parrot_find_global_op(interp, cur_ns, SREG(2), cur_opcode + 3);
@@ -28313,6 +29491,7 @@
opcode_t *
Parrot_get_global_p_sc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 274 "src/ops/var.ops"
PMC * const cur_ns = Parrot_pcc_get_namespace(interp, CURRENT_CONTEXT(interp));
PREG(1) = Parrot_find_global_op(interp, cur_ns, CONST(2)->u.string, cur_opcode + 3);
@@ -28321,6 +29500,7 @@
opcode_t *
Parrot_get_global_p_p_s(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 279 "src/ops/var.ops"
PMC * const cur_ns = Parrot_pcc_get_namespace(interp, CURRENT_CONTEXT(interp));
if (PMC_IS_NULL(cur_ns)) {
PREG(1) = PMCNULL;
@@ -28338,6 +29518,7 @@
opcode_t *
Parrot_get_global_p_pc_s(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 279 "src/ops/var.ops"
PMC * const cur_ns = Parrot_pcc_get_namespace(interp, CURRENT_CONTEXT(interp));
if (PMC_IS_NULL(cur_ns)) {
PREG(1) = PMCNULL;
@@ -28355,6 +29536,7 @@
opcode_t *
Parrot_get_global_p_p_sc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 279 "src/ops/var.ops"
PMC * const cur_ns = Parrot_pcc_get_namespace(interp, CURRENT_CONTEXT(interp));
if (PMC_IS_NULL(cur_ns)) {
PREG(1) = PMCNULL;
@@ -28372,6 +29554,7 @@
opcode_t *
Parrot_get_global_p_pc_sc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 279 "src/ops/var.ops"
PMC * const cur_ns = Parrot_pcc_get_namespace(interp, CURRENT_CONTEXT(interp));
if (PMC_IS_NULL(cur_ns)) {
PREG(1) = PMCNULL;
@@ -28389,6 +29572,7 @@
opcode_t *
Parrot_get_hll_global_p_s(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 306 "src/ops/var.ops"
PMC * const hll_ns = Parrot_get_ctx_HLL_namespace(interp);
PREG(1) = Parrot_find_global_op(interp, hll_ns, SREG(2), cur_opcode + 3);
@@ -28397,6 +29581,7 @@
opcode_t *
Parrot_get_hll_global_p_sc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 306 "src/ops/var.ops"
PMC * const hll_ns = Parrot_get_ctx_HLL_namespace(interp);
PREG(1) = Parrot_find_global_op(interp, hll_ns, CONST(2)->u.string, cur_opcode + 3);
@@ -28405,6 +29590,7 @@
opcode_t *
Parrot_get_hll_global_p_p_s(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 311 "src/ops/var.ops"
PMC * const hll_ns = Parrot_get_ctx_HLL_namespace(interp);
if (PMC_IS_NULL(hll_ns)) {
PREG(1) = hll_ns;
@@ -28422,6 +29608,7 @@
opcode_t *
Parrot_get_hll_global_p_pc_s(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 311 "src/ops/var.ops"
PMC * const hll_ns = Parrot_get_ctx_HLL_namespace(interp);
if (PMC_IS_NULL(hll_ns)) {
PREG(1) = hll_ns;
@@ -28439,6 +29626,7 @@
opcode_t *
Parrot_get_hll_global_p_p_sc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 311 "src/ops/var.ops"
PMC * const hll_ns = Parrot_get_ctx_HLL_namespace(interp);
if (PMC_IS_NULL(hll_ns)) {
PREG(1) = hll_ns;
@@ -28456,6 +29644,7 @@
opcode_t *
Parrot_get_hll_global_p_pc_sc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 311 "src/ops/var.ops"
PMC * const hll_ns = Parrot_get_ctx_HLL_namespace(interp);
if (PMC_IS_NULL(hll_ns)) {
PREG(1) = hll_ns;
@@ -28473,6 +29662,7 @@
opcode_t *
Parrot_get_root_global_p_s(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 338 "src/ops/var.ops"
PMC * const root_ns = interp->root_namespace;
PREG(1) = Parrot_find_global_op(interp, root_ns, SREG(2), cur_opcode + 3);
@@ -28481,6 +29671,7 @@
opcode_t *
Parrot_get_root_global_p_sc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 338 "src/ops/var.ops"
PMC * const root_ns = interp->root_namespace;
PREG(1) = Parrot_find_global_op(interp, root_ns, CONST(2)->u.string, cur_opcode + 3);
@@ -28489,6 +29680,7 @@
opcode_t *
Parrot_get_root_global_p_p_s(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 343 "src/ops/var.ops"
PMC * const root_ns = interp->root_namespace;
if (PMC_IS_NULL(root_ns))
PREG(1) = PMCNULL;
@@ -28505,6 +29697,7 @@
opcode_t *
Parrot_get_root_global_p_pc_s(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 343 "src/ops/var.ops"
PMC * const root_ns = interp->root_namespace;
if (PMC_IS_NULL(root_ns))
PREG(1) = PMCNULL;
@@ -28521,6 +29714,7 @@
opcode_t *
Parrot_get_root_global_p_p_sc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 343 "src/ops/var.ops"
PMC * const root_ns = interp->root_namespace;
if (PMC_IS_NULL(root_ns))
PREG(1) = PMCNULL;
@@ -28537,6 +29731,7 @@
opcode_t *
Parrot_get_root_global_p_pc_sc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 343 "src/ops/var.ops"
PMC * const root_ns = interp->root_namespace;
if (PMC_IS_NULL(root_ns))
PREG(1) = PMCNULL;
@@ -28553,6 +29748,7 @@
opcode_t *
Parrot_set_global_s_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 378 "src/ops/var.ops"
PMC * const cur_ns = Parrot_pcc_get_namespace(interp, CURRENT_CONTEXT(interp));
Parrot_set_global(interp, cur_ns, SREG(1), PREG(2));
@@ -28561,6 +29757,7 @@
opcode_t *
Parrot_set_global_sc_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 378 "src/ops/var.ops"
PMC * const cur_ns = Parrot_pcc_get_namespace(interp, CURRENT_CONTEXT(interp));
Parrot_set_global(interp, cur_ns, CONST(1)->u.string, PREG(2));
@@ -28569,6 +29766,7 @@
opcode_t *
Parrot_set_global_p_s_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 383 "src/ops/var.ops"
PMC * const cur_ns = Parrot_pcc_get_namespace(interp, CURRENT_CONTEXT(interp));
PMC * const ns = Parrot_make_namespace_keyed(interp, cur_ns, PREG(1));
@@ -28579,6 +29777,7 @@
opcode_t *
Parrot_set_global_pc_s_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 383 "src/ops/var.ops"
PMC * const cur_ns = Parrot_pcc_get_namespace(interp, CURRENT_CONTEXT(interp));
PMC * const ns = Parrot_make_namespace_keyed(interp, cur_ns, CONST(1)->u.key);
@@ -28589,6 +29788,7 @@
opcode_t *
Parrot_set_global_p_sc_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 383 "src/ops/var.ops"
PMC * const cur_ns = Parrot_pcc_get_namespace(interp, CURRENT_CONTEXT(interp));
PMC * const ns = Parrot_make_namespace_keyed(interp, cur_ns, PREG(1));
@@ -28599,6 +29799,7 @@
opcode_t *
Parrot_set_global_pc_sc_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 383 "src/ops/var.ops"
PMC * const cur_ns = Parrot_pcc_get_namespace(interp, CURRENT_CONTEXT(interp));
PMC * const ns = Parrot_make_namespace_keyed(interp, cur_ns, CONST(1)->u.key);
@@ -28609,6 +29810,7 @@
opcode_t *
Parrot_set_hll_global_s_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 402 "src/ops/var.ops"
PMC * const hll_ns = Parrot_get_ctx_HLL_namespace(interp);
Parrot_set_global(interp, hll_ns, SREG(1), PREG(2));
@@ -28617,6 +29819,7 @@
opcode_t *
Parrot_set_hll_global_sc_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 402 "src/ops/var.ops"
PMC * const hll_ns = Parrot_get_ctx_HLL_namespace(interp);
Parrot_set_global(interp, hll_ns, CONST(1)->u.string, PREG(2));
@@ -28625,6 +29828,7 @@
opcode_t *
Parrot_set_hll_global_p_s_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 407 "src/ops/var.ops"
PMC * const hll_ns = Parrot_get_ctx_HLL_namespace(interp);
PMC * const ns = Parrot_make_namespace_keyed(interp, hll_ns, PREG(1));
@@ -28635,6 +29839,7 @@
opcode_t *
Parrot_set_hll_global_pc_s_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 407 "src/ops/var.ops"
PMC * const hll_ns = Parrot_get_ctx_HLL_namespace(interp);
PMC * const ns = Parrot_make_namespace_keyed(interp, hll_ns, CONST(1)->u.key);
@@ -28645,6 +29850,7 @@
opcode_t *
Parrot_set_hll_global_p_sc_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 407 "src/ops/var.ops"
PMC * const hll_ns = Parrot_get_ctx_HLL_namespace(interp);
PMC * const ns = Parrot_make_namespace_keyed(interp, hll_ns, PREG(1));
@@ -28655,6 +29861,7 @@
opcode_t *
Parrot_set_hll_global_pc_sc_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 407 "src/ops/var.ops"
PMC * const hll_ns = Parrot_get_ctx_HLL_namespace(interp);
PMC * const ns = Parrot_make_namespace_keyed(interp, hll_ns, CONST(1)->u.key);
@@ -28665,6 +29872,7 @@
opcode_t *
Parrot_set_root_global_s_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 426 "src/ops/var.ops"
PMC * const root_ns = interp->root_namespace;
Parrot_set_global(interp, root_ns, SREG(1), PREG(2));
@@ -28673,6 +29881,7 @@
opcode_t *
Parrot_set_root_global_sc_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 426 "src/ops/var.ops"
PMC * const root_ns = interp->root_namespace;
Parrot_set_global(interp, root_ns, CONST(1)->u.string, PREG(2));
@@ -28681,6 +29890,7 @@
opcode_t *
Parrot_set_root_global_p_s_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 431 "src/ops/var.ops"
PMC * const root_ns = interp->root_namespace;
PMC * const ns = Parrot_make_namespace_keyed(interp, root_ns, PREG(1));
@@ -28691,6 +29901,7 @@
opcode_t *
Parrot_set_root_global_pc_s_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 431 "src/ops/var.ops"
PMC * const root_ns = interp->root_namespace;
PMC * const ns = Parrot_make_namespace_keyed(interp, root_ns, CONST(1)->u.key);
@@ -28701,6 +29912,7 @@
opcode_t *
Parrot_set_root_global_p_sc_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 431 "src/ops/var.ops"
PMC * const root_ns = interp->root_namespace;
PMC * const ns = Parrot_make_namespace_keyed(interp, root_ns, PREG(1));
@@ -28711,6 +29923,7 @@
opcode_t *
Parrot_set_root_global_pc_sc_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 431 "src/ops/var.ops"
PMC * const root_ns = interp->root_namespace;
PMC * const ns = Parrot_make_namespace_keyed(interp, root_ns, CONST(1)->u.key);
@@ -28721,6 +29934,7 @@
opcode_t *
Parrot_find_name_p_s(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 463 "src/ops/var.ops"
if (!SREG(2)) {
opcode_t *handler = Parrot_ex_throw_from_op_args(interp, NULL,
EXCEPTION_INVALID_OPERATION,
@@ -28735,6 +29949,7 @@
opcode_t *
Parrot_find_name_p_sc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 463 "src/ops/var.ops"
if (!CONST(2)->u.string) {
opcode_t *handler = Parrot_ex_throw_from_op_args(interp, NULL,
EXCEPTION_INVALID_OPERATION,
@@ -28749,6 +29964,7 @@
opcode_t *
Parrot_find_sub_not_null_p_s(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 481 "src/ops/var.ops"
opcode_t *dest = cur_opcode + 3;
PMC *sub = Parrot_find_name_op(interp, SREG(2), dest);
@@ -28766,6 +29982,7 @@
opcode_t *
Parrot_find_sub_not_null_p_sc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 481 "src/ops/var.ops"
opcode_t *dest = cur_opcode + 3;
PMC *sub = Parrot_find_name_op(interp, CONST(2)->u.string, dest);
@@ -28783,6 +30000,7 @@
opcode_t *
Parrot_trap(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 46 "src/ops/experimental.ops"
INTVAL unused = PARROT_WARNINGS_test(interp,PARROT_WARNINGS_DEPRECATED_FLAG) &&
fprintf(stderr,"Warning: instruction 'trap' is deprecated\n");
#if defined(__GNUC__) && defined(i386)
@@ -28797,6 +30015,7 @@
opcode_t *
Parrot_set_label_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 71 "src/ops/experimental.ops"
VTABLE_set_pointer(interp, PREG(1), (CUR_OPCODE + cur_opcode[2]));
return (opcode_t *)cur_opcode + 3;}
@@ -28804,6 +30023,7 @@
opcode_t *
Parrot_get_label_i_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 75 "src/ops/experimental.ops"
void * const ptr = VTABLE_get_pointer(interp, PREG(2));
IREG(1) = PTR2INTVAL(ptr);
@@ -28812,6 +30032,7 @@
opcode_t *
Parrot_fetch_p_p_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 95 "src/ops/experimental.ops"
PREG(1) = VTABLE_get_pmc_keyed(interp, PREG(2), PREG(3));
if (PMC_IS_NULL(PREG(1))) {
PMC * const classobj = Parrot_oo_get_class(interp, PREG(4));
@@ -28835,6 +30056,7 @@
opcode_t *
Parrot_fetch_p_pc_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 95 "src/ops/experimental.ops"
PREG(1) = VTABLE_get_pmc_keyed(interp, CONST(2)->u.key, PREG(3));
if (PMC_IS_NULL(PREG(1))) {
PMC * const classobj = Parrot_oo_get_class(interp, PREG(4));
@@ -28858,6 +30080,7 @@
opcode_t *
Parrot_fetch_p_p_pc_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 95 "src/ops/experimental.ops"
PREG(1) = VTABLE_get_pmc_keyed(interp, PREG(2), CONST(3)->u.key);
if (PMC_IS_NULL(PREG(1))) {
PMC * const classobj = Parrot_oo_get_class(interp, PREG(4));
@@ -28881,6 +30104,7 @@
opcode_t *
Parrot_fetch_p_pc_pc_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 95 "src/ops/experimental.ops"
PREG(1) = VTABLE_get_pmc_keyed(interp, CONST(2)->u.key, CONST(3)->u.key);
if (PMC_IS_NULL(PREG(1))) {
PMC * const classobj = Parrot_oo_get_class(interp, PREG(4));
@@ -28904,6 +30128,7 @@
opcode_t *
Parrot_fetch_p_p_p_pc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 95 "src/ops/experimental.ops"
PREG(1) = VTABLE_get_pmc_keyed(interp, PREG(2), PREG(3));
if (PMC_IS_NULL(PREG(1))) {
PMC * const classobj = Parrot_oo_get_class(interp, CONST(4)->u.key);
@@ -28927,6 +30152,7 @@
opcode_t *
Parrot_fetch_p_pc_p_pc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 95 "src/ops/experimental.ops"
PREG(1) = VTABLE_get_pmc_keyed(interp, CONST(2)->u.key, PREG(3));
if (PMC_IS_NULL(PREG(1))) {
PMC * const classobj = Parrot_oo_get_class(interp, CONST(4)->u.key);
@@ -28950,6 +30176,7 @@
opcode_t *
Parrot_fetch_p_p_pc_pc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 95 "src/ops/experimental.ops"
PREG(1) = VTABLE_get_pmc_keyed(interp, PREG(2), CONST(3)->u.key);
if (PMC_IS_NULL(PREG(1))) {
PMC * const classobj = Parrot_oo_get_class(interp, CONST(4)->u.key);
@@ -28973,6 +30200,7 @@
opcode_t *
Parrot_fetch_p_pc_pc_pc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 95 "src/ops/experimental.ops"
PREG(1) = VTABLE_get_pmc_keyed(interp, CONST(2)->u.key, CONST(3)->u.key);
if (PMC_IS_NULL(PREG(1))) {
PMC * const classobj = Parrot_oo_get_class(interp, CONST(4)->u.key);
@@ -28996,6 +30224,7 @@
opcode_t *
Parrot_fetch_p_p_i_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 115 "src/ops/experimental.ops"
PREG(1) = VTABLE_get_pmc_keyed_int(interp, PREG(2), IREG(3));
if (PMC_IS_NULL(PREG(1))) {
PMC * const classobj = Parrot_oo_get_class(interp, PREG(4));
@@ -29019,6 +30248,7 @@
opcode_t *
Parrot_fetch_p_pc_i_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 115 "src/ops/experimental.ops"
PREG(1) = VTABLE_get_pmc_keyed_int(interp, CONST(2)->u.key, IREG(3));
if (PMC_IS_NULL(PREG(1))) {
PMC * const classobj = Parrot_oo_get_class(interp, PREG(4));
@@ -29042,6 +30272,7 @@
opcode_t *
Parrot_fetch_p_p_ic_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 115 "src/ops/experimental.ops"
PREG(1) = VTABLE_get_pmc_keyed_int(interp, PREG(2), cur_opcode[3]);
if (PMC_IS_NULL(PREG(1))) {
PMC * const classobj = Parrot_oo_get_class(interp, PREG(4));
@@ -29065,6 +30296,7 @@
opcode_t *
Parrot_fetch_p_pc_ic_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 115 "src/ops/experimental.ops"
PREG(1) = VTABLE_get_pmc_keyed_int(interp, CONST(2)->u.key, cur_opcode[3]);
if (PMC_IS_NULL(PREG(1))) {
PMC * const classobj = Parrot_oo_get_class(interp, PREG(4));
@@ -29088,6 +30320,7 @@
opcode_t *
Parrot_fetch_p_p_i_pc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 115 "src/ops/experimental.ops"
PREG(1) = VTABLE_get_pmc_keyed_int(interp, PREG(2), IREG(3));
if (PMC_IS_NULL(PREG(1))) {
PMC * const classobj = Parrot_oo_get_class(interp, CONST(4)->u.key);
@@ -29111,6 +30344,7 @@
opcode_t *
Parrot_fetch_p_pc_i_pc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 115 "src/ops/experimental.ops"
PREG(1) = VTABLE_get_pmc_keyed_int(interp, CONST(2)->u.key, IREG(3));
if (PMC_IS_NULL(PREG(1))) {
PMC * const classobj = Parrot_oo_get_class(interp, CONST(4)->u.key);
@@ -29134,6 +30368,7 @@
opcode_t *
Parrot_fetch_p_p_ic_pc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 115 "src/ops/experimental.ops"
PREG(1) = VTABLE_get_pmc_keyed_int(interp, PREG(2), cur_opcode[3]);
if (PMC_IS_NULL(PREG(1))) {
PMC * const classobj = Parrot_oo_get_class(interp, CONST(4)->u.key);
@@ -29157,6 +30392,7 @@
opcode_t *
Parrot_fetch_p_pc_ic_pc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 115 "src/ops/experimental.ops"
PREG(1) = VTABLE_get_pmc_keyed_int(interp, CONST(2)->u.key, cur_opcode[3]);
if (PMC_IS_NULL(PREG(1))) {
PMC * const classobj = Parrot_oo_get_class(interp, CONST(4)->u.key);
@@ -29180,6 +30416,7 @@
opcode_t *
Parrot_fetch_p_p_s_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 135 "src/ops/experimental.ops"
PREG(1) = VTABLE_get_pmc_keyed_str(interp, PREG(2), SREG(3));
if (PMC_IS_NULL(PREG(1))) {
PMC * const classobj = Parrot_oo_get_class(interp, PREG(4));
@@ -29203,6 +30440,7 @@
opcode_t *
Parrot_fetch_p_pc_s_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 135 "src/ops/experimental.ops"
PREG(1) = VTABLE_get_pmc_keyed_str(interp, CONST(2)->u.key, SREG(3));
if (PMC_IS_NULL(PREG(1))) {
PMC * const classobj = Parrot_oo_get_class(interp, PREG(4));
@@ -29226,6 +30464,7 @@
opcode_t *
Parrot_fetch_p_p_sc_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 135 "src/ops/experimental.ops"
PREG(1) = VTABLE_get_pmc_keyed_str(interp, PREG(2), CONST(3)->u.string);
if (PMC_IS_NULL(PREG(1))) {
PMC * const classobj = Parrot_oo_get_class(interp, PREG(4));
@@ -29249,6 +30488,7 @@
opcode_t *
Parrot_fetch_p_pc_sc_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 135 "src/ops/experimental.ops"
PREG(1) = VTABLE_get_pmc_keyed_str(interp, CONST(2)->u.key, CONST(3)->u.string);
if (PMC_IS_NULL(PREG(1))) {
PMC * const classobj = Parrot_oo_get_class(interp, PREG(4));
@@ -29272,6 +30512,7 @@
opcode_t *
Parrot_fetch_p_p_s_pc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 135 "src/ops/experimental.ops"
PREG(1) = VTABLE_get_pmc_keyed_str(interp, PREG(2), SREG(3));
if (PMC_IS_NULL(PREG(1))) {
PMC * const classobj = Parrot_oo_get_class(interp, CONST(4)->u.key);
@@ -29295,6 +30536,7 @@
opcode_t *
Parrot_fetch_p_pc_s_pc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 135 "src/ops/experimental.ops"
PREG(1) = VTABLE_get_pmc_keyed_str(interp, CONST(2)->u.key, SREG(3));
if (PMC_IS_NULL(PREG(1))) {
PMC * const classobj = Parrot_oo_get_class(interp, CONST(4)->u.key);
@@ -29318,6 +30560,7 @@
opcode_t *
Parrot_fetch_p_p_sc_pc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 135 "src/ops/experimental.ops"
PREG(1) = VTABLE_get_pmc_keyed_str(interp, PREG(2), CONST(3)->u.string);
if (PMC_IS_NULL(PREG(1))) {
PMC * const classobj = Parrot_oo_get_class(interp, CONST(4)->u.key);
@@ -29341,6 +30584,7 @@
opcode_t *
Parrot_fetch_p_pc_sc_pc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 135 "src/ops/experimental.ops"
PREG(1) = VTABLE_get_pmc_keyed_str(interp, CONST(2)->u.key, CONST(3)->u.string);
if (PMC_IS_NULL(PREG(1))) {
PMC * const classobj = Parrot_oo_get_class(interp, CONST(4)->u.key);
@@ -29364,6 +30608,7 @@
opcode_t *
Parrot_vivify_p_p_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 170 "src/ops/experimental.ops"
PREG(1) = VTABLE_get_pmc_keyed(interp, PREG(2), PREG(3));
if (PMC_IS_NULL(PREG(1))) {
@@ -29390,6 +30635,7 @@
opcode_t *
Parrot_vivify_p_pc_p_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 170 "src/ops/experimental.ops"
PREG(1) = VTABLE_get_pmc_keyed(interp, CONST(2)->u.key, PREG(3));
if (PMC_IS_NULL(PREG(1))) {
@@ -29416,6 +30662,7 @@
opcode_t *
Parrot_vivify_p_p_pc_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 170 "src/ops/experimental.ops"
PREG(1) = VTABLE_get_pmc_keyed(interp, PREG(2), CONST(3)->u.key);
if (PMC_IS_NULL(PREG(1))) {
@@ -29442,6 +30689,7 @@
opcode_t *
Parrot_vivify_p_pc_pc_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 170 "src/ops/experimental.ops"
PREG(1) = VTABLE_get_pmc_keyed(interp, CONST(2)->u.key, CONST(3)->u.key);
if (PMC_IS_NULL(PREG(1))) {
@@ -29468,6 +30716,7 @@
opcode_t *
Parrot_vivify_p_p_p_pc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 170 "src/ops/experimental.ops"
PREG(1) = VTABLE_get_pmc_keyed(interp, PREG(2), PREG(3));
if (PMC_IS_NULL(PREG(1))) {
@@ -29494,6 +30743,7 @@
opcode_t *
Parrot_vivify_p_pc_p_pc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 170 "src/ops/experimental.ops"
PREG(1) = VTABLE_get_pmc_keyed(interp, CONST(2)->u.key, PREG(3));
if (PMC_IS_NULL(PREG(1))) {
@@ -29520,6 +30770,7 @@
opcode_t *
Parrot_vivify_p_p_pc_pc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 170 "src/ops/experimental.ops"
PREG(1) = VTABLE_get_pmc_keyed(interp, PREG(2), CONST(3)->u.key);
if (PMC_IS_NULL(PREG(1))) {
@@ -29546,6 +30797,7 @@
opcode_t *
Parrot_vivify_p_pc_pc_pc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 170 "src/ops/experimental.ops"
PREG(1) = VTABLE_get_pmc_keyed(interp, CONST(2)->u.key, CONST(3)->u.key);
if (PMC_IS_NULL(PREG(1))) {
@@ -29572,6 +30824,7 @@
opcode_t *
Parrot_vivify_p_p_i_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 193 "src/ops/experimental.ops"
PREG(1) = VTABLE_get_pmc_keyed_int(interp, PREG(2), IREG(3));
if (PMC_IS_NULL(PREG(1))) {
@@ -29598,6 +30851,7 @@
opcode_t *
Parrot_vivify_p_pc_i_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 193 "src/ops/experimental.ops"
PREG(1) = VTABLE_get_pmc_keyed_int(interp, CONST(2)->u.key, IREG(3));
if (PMC_IS_NULL(PREG(1))) {
@@ -29624,6 +30878,7 @@
opcode_t *
Parrot_vivify_p_p_ic_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 193 "src/ops/experimental.ops"
PREG(1) = VTABLE_get_pmc_keyed_int(interp, PREG(2), cur_opcode[3]);
if (PMC_IS_NULL(PREG(1))) {
@@ -29650,6 +30905,7 @@
opcode_t *
Parrot_vivify_p_pc_ic_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 193 "src/ops/experimental.ops"
PREG(1) = VTABLE_get_pmc_keyed_int(interp, CONST(2)->u.key, cur_opcode[3]);
if (PMC_IS_NULL(PREG(1))) {
@@ -29676,6 +30932,7 @@
opcode_t *
Parrot_vivify_p_p_i_pc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 193 "src/ops/experimental.ops"
PREG(1) = VTABLE_get_pmc_keyed_int(interp, PREG(2), IREG(3));
if (PMC_IS_NULL(PREG(1))) {
@@ -29702,6 +30959,7 @@
opcode_t *
Parrot_vivify_p_pc_i_pc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 193 "src/ops/experimental.ops"
PREG(1) = VTABLE_get_pmc_keyed_int(interp, CONST(2)->u.key, IREG(3));
if (PMC_IS_NULL(PREG(1))) {
@@ -29728,6 +30986,7 @@
opcode_t *
Parrot_vivify_p_p_ic_pc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 193 "src/ops/experimental.ops"
PREG(1) = VTABLE_get_pmc_keyed_int(interp, PREG(2), cur_opcode[3]);
if (PMC_IS_NULL(PREG(1))) {
@@ -29754,6 +31013,7 @@
opcode_t *
Parrot_vivify_p_pc_ic_pc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 193 "src/ops/experimental.ops"
PREG(1) = VTABLE_get_pmc_keyed_int(interp, CONST(2)->u.key, cur_opcode[3]);
if (PMC_IS_NULL(PREG(1))) {
@@ -29780,6 +31040,7 @@
opcode_t *
Parrot_vivify_p_p_s_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 216 "src/ops/experimental.ops"
PREG(1) = VTABLE_get_pmc_keyed_str(interp, PREG(2), SREG(3));
if (PMC_IS_NULL(PREG(1))) {
@@ -29806,6 +31067,7 @@
opcode_t *
Parrot_vivify_p_pc_s_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 216 "src/ops/experimental.ops"
PREG(1) = VTABLE_get_pmc_keyed_str(interp, CONST(2)->u.key, SREG(3));
if (PMC_IS_NULL(PREG(1))) {
@@ -29832,6 +31094,7 @@
opcode_t *
Parrot_vivify_p_p_sc_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 216 "src/ops/experimental.ops"
PREG(1) = VTABLE_get_pmc_keyed_str(interp, PREG(2), CONST(3)->u.string);
if (PMC_IS_NULL(PREG(1))) {
@@ -29858,6 +31121,7 @@
opcode_t *
Parrot_vivify_p_pc_sc_p(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 216 "src/ops/experimental.ops"
PREG(1) = VTABLE_get_pmc_keyed_str(interp, CONST(2)->u.key, CONST(3)->u.string);
if (PMC_IS_NULL(PREG(1))) {
@@ -29884,6 +31148,7 @@
opcode_t *
Parrot_vivify_p_p_s_pc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 216 "src/ops/experimental.ops"
PREG(1) = VTABLE_get_pmc_keyed_str(interp, PREG(2), SREG(3));
if (PMC_IS_NULL(PREG(1))) {
@@ -29910,6 +31175,7 @@
opcode_t *
Parrot_vivify_p_pc_s_pc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 216 "src/ops/experimental.ops"
PREG(1) = VTABLE_get_pmc_keyed_str(interp, CONST(2)->u.key, SREG(3));
if (PMC_IS_NULL(PREG(1))) {
@@ -29936,6 +31202,7 @@
opcode_t *
Parrot_vivify_p_p_sc_pc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 216 "src/ops/experimental.ops"
PREG(1) = VTABLE_get_pmc_keyed_str(interp, PREG(2), CONST(3)->u.string);
if (PMC_IS_NULL(PREG(1))) {
@@ -29962,6 +31229,7 @@
opcode_t *
Parrot_vivify_p_pc_sc_pc(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 216 "src/ops/experimental.ops"
PREG(1) = VTABLE_get_pmc_keyed_str(interp, CONST(2)->u.key, CONST(3)->u.string);
if (PMC_IS_NULL(PREG(1))) {
@@ -29988,6 +31256,7 @@
opcode_t *
Parrot_new_p_s_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 250 "src/ops/experimental.ops"
STRING * const name = SREG(2);
PMC * const _class = Parrot_pcc_get_HLL(interp, CURRENT_CONTEXT(interp))
? Parrot_oo_get_class_str(interp, name)
@@ -30014,6 +31283,7 @@
opcode_t *
Parrot_new_p_sc_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 250 "src/ops/experimental.ops"
STRING * const name = CONST(2)->u.string;
PMC * const _class = Parrot_pcc_get_HLL(interp, CURRENT_CONTEXT(interp))
? Parrot_oo_get_class_str(interp, name)
@@ -30040,6 +31310,7 @@
opcode_t *
Parrot_new_p_s_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 250 "src/ops/experimental.ops"
STRING * const name = SREG(2);
PMC * const _class = Parrot_pcc_get_HLL(interp, CURRENT_CONTEXT(interp))
? Parrot_oo_get_class_str(interp, name)
@@ -30066,6 +31337,7 @@
opcode_t *
Parrot_new_p_sc_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 250 "src/ops/experimental.ops"
STRING * const name = CONST(2)->u.string;
PMC * const _class = Parrot_pcc_get_HLL(interp, CURRENT_CONTEXT(interp))
? Parrot_oo_get_class_str(interp, name)
@@ -30092,6 +31364,7 @@
opcode_t *
Parrot_new_p_p_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 274 "src/ops/experimental.ops"
PMC * const name_key = PREG(2);
/* get_class() returns a PMCProxy for core types, so check for core PMCs */
@@ -30125,6 +31398,7 @@
opcode_t *
Parrot_new_p_pc_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 274 "src/ops/experimental.ops"
PMC * const name_key = CONST(2)->u.key;
/* get_class() returns a PMCProxy for core types, so check for core PMCs */
@@ -30158,6 +31432,7 @@
opcode_t *
Parrot_new_p_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 274 "src/ops/experimental.ops"
PMC * const name_key = PREG(2);
/* get_class() returns a PMCProxy for core types, so check for core PMCs */
@@ -30191,6 +31466,7 @@
opcode_t *
Parrot_new_p_pc_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 274 "src/ops/experimental.ops"
PMC * const name_key = CONST(2)->u.key;
/* get_class() returns a PMCProxy for core types, so check for core PMCs */
@@ -30224,6 +31500,7 @@
opcode_t *
Parrot_root_new_p_p_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 312 "src/ops/experimental.ops"
PMC * const name_key = PREG(2);
/* get_class() returns a PMCProxy for core types, so check for core PMCs */
@@ -30259,6 +31536,7 @@
opcode_t *
Parrot_root_new_p_pc_i(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 312 "src/ops/experimental.ops"
PMC * const name_key = CONST(2)->u.key;
/* get_class() returns a PMCProxy for core types, so check for core PMCs */
@@ -30294,6 +31572,7 @@
opcode_t *
Parrot_root_new_p_p_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 312 "src/ops/experimental.ops"
PMC * const name_key = PREG(2);
/* get_class() returns a PMCProxy for core types, so check for core PMCs */
@@ -30329,6 +31608,7 @@
opcode_t *
Parrot_root_new_p_pc_ic(opcode_t *cur_opcode, PARROT_INTERP) {
const Parrot_Context * const CUR_CTX = Parrot_pcc_get_context_struct(interp, interp->ctx);
+#line 312 "src/ops/experimental.ops"
PMC * const name_key = CONST(2)->u.key;
/* get_class() returns a PMCProxy for core types, so check for core PMCs */
@@ -30361,6 +31641,7 @@
return (opcode_t *)cur_opcode + 4;}
+#line 31556 "src/ops/core_ops.c"
/*
** Op lookup function:
Modified: branches/ops_pct/src/ops/io.ops
==============================================================================
--- branches/ops_pct/src/ops/io.ops Sat May 8 01:36:41 2010 (r46398)
+++ branches/ops_pct/src/ops/io.ops Sat May 8 02:08:40 2010 (r46399)
@@ -390,7 +390,7 @@
*s = NULL;
if (Parrot_io_peek(interp, _PIO_STDIN(interp), s) < 0) {
- $1 = Parrot_str_new_noinit(interp, enum_stringrep_one, 0);
+ $1 = STRINGNULL;
}
}
@@ -399,7 +399,7 @@
*s = NULL;
if (Parrot_io_peek(interp, $2, s) < 0) {
- $1 = Parrot_str_new_noinit(interp, enum_stringrep_one, 0);
+ $1 = STRINGNULL;
}
}
Modified: branches/ops_pct/src/ops/string.ops
==============================================================================
--- branches/ops_pct/src/ops/string.ops Sat May 8 01:36:41 2010 (r46398)
+++ branches/ops_pct/src/ops/string.ops Sat May 8 02:08:40 2010 (r46399)
@@ -184,19 +184,11 @@
=cut
inline op length(out INT, in STR) :base_mem {
- $1 = $2 ? Parrot_str_byte_length(interp, $2) : 0;
+ $1 = Parrot_str_length(interp, $2);
}
inline op bytelength(out INT, in STR) :base_mem {
- UINTVAL n;
- const STRING * const s = $2;
- if (STRING_IS_NULL(s))
- n = 0;
- else {
- n = s->bufused;
- PARROT_ASSERT(n == ENCODING_BYTES(interp, $2));
- }
- $1 = n;
+ $1 = Parrot_str_byte_length(interp, $2);
}
Modified: branches/ops_pct/src/packfile.c
==============================================================================
--- branches/ops_pct/src/packfile.c Sat May 8 01:36:41 2010 (r46398)
+++ branches/ops_pct/src/packfile.c Sat May 8 02:08:40 2010 (r46399)
@@ -4122,26 +4122,16 @@
INTVAL i;
/* Free any keys. */
- if (self->keys) {
- for (i = 0; i < self->num_keys; ++i)
- mem_gc_free(interp, self->keys[i]);
-
+ if (self->keys)
mem_gc_free(interp, self->keys);
- }
/* Free any groups. */
- if (self->groups) {
- for (i = 0; i < self->num_groups; ++i)
- mem_gc_free(interp, self->groups[i]);
+ if (self->groups)
mem_gc_free(interp, self->groups);
- }
/* Free any entries. */
- if (self->entries) {
- for (i = 0; i < self->num_entries; ++i)
- mem_gc_free(interp, self->entries[i]);
+ if (self->entries)
mem_gc_free(interp, self->entries);
- }
}
@@ -4195,7 +4185,7 @@
*cursor++ = self->num_keys;
for (i = 0; i < self->num_keys; ++i) {
- const PackFile_Annotations_Key * const key = self->keys[i];
+ const PackFile_Annotations_Key * const key = self->keys + i;
*cursor++ = key->name;
*cursor++ = key->type;
}
@@ -4204,7 +4194,7 @@
*cursor++ = self->num_groups;
for (i = 0; i < self->num_groups; ++i) {
- const PackFile_Annotations_Group * const group = self->groups[i];
+ const PackFile_Annotations_Group * const group = self->groups + i;
*cursor++ = group->bytecode_offset;
*cursor++ = group->entries_offset;
}
@@ -4213,7 +4203,7 @@
*cursor++ = self->num_entries;
for (i = 0; i < self->num_entries; ++i) {
- const PackFile_Annotations_Entry * const entry = self->entries[i];
+ const PackFile_Annotations_Entry * const entry = self->entries + i;
*cursor++ = entry->bytecode_offset;
*cursor++ = entry->key;
*cursor++ = entry->value;
@@ -4255,11 +4245,10 @@
self->num_keys));
self->keys = mem_gc_allocate_n_zeroed_typed(interp,
- self->num_keys, PackFile_Annotations_Key *);
+ self->num_keys, PackFile_Annotations_Key);
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);
+ PackFile_Annotations_Key * const key = self->keys + i;
key->name = PF_fetch_opcode(seg->pf, &cursor);
key->type = PF_fetch_opcode(seg->pf, &cursor);
TRACE_PRINTF_VAL(("PackFile_Annotations_unpack: key[%d]/%d name=%s type=%d\n",
@@ -4269,12 +4258,10 @@
/* Unpack groups. */
self->num_groups = PF_fetch_opcode(seg->pf, &cursor);
self->groups = mem_gc_allocate_n_zeroed_typed(interp,
- self->num_groups, PackFile_Annotations_Group *);
+ self->num_groups, PackFile_Annotations_Group);
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);
+ PackFile_Annotations_Group * const group = self->groups + i;
group->bytecode_offset = PF_fetch_opcode(seg->pf, &cursor);
group->entries_offset = PF_fetch_opcode(seg->pf, &cursor);
TRACE_PRINTF_VAL((
@@ -4286,11 +4273,9 @@
/* Unpack entries. */
self->num_entries = PF_fetch_opcode(seg->pf, &cursor);
self->entries = mem_gc_allocate_n_zeroed_typed(interp,
- self->num_entries, PackFile_Annotations_Entry *);
+ self->num_entries, PackFile_Annotations_Entry);
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);
+ PackFile_Annotations_Entry * const entry = self->entries + i;
entry->bytecode_offset = PF_fetch_opcode(seg->pf, &cursor);
entry->key = PF_fetch_opcode(seg->pf, &cursor);
entry->value = PF_fetch_opcode(seg->pf, &cursor);
@@ -4338,7 +4323,7 @@
/* Dump keys. */
Parrot_io_printf(interp, "\n keys => [\n");
for (i = 0; i < self->num_keys; ++i) {
- const PackFile_Annotations_Key * const key = self->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",
PF_CONST(self->code, key->name)->u.string);
@@ -4355,7 +4340,7 @@
/* Dump groups. */
Parrot_io_printf(interp, "\n groups => [\n");
for (i = 0; i < self->num_groups; ++i) {
- const PackFile_Annotations_Group * const group = self->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",
group->bytecode_offset);
@@ -4370,7 +4355,7 @@
Parrot_io_printf(interp, "\n entries => [\n");
for (i = 0; i < self->num_entries; ++i) {
- const PackFile_Annotations_Entry * const entry = self->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",
entry->bytecode_offset);
@@ -4408,14 +4393,13 @@
/* Allocate extra space for the group in the groups array. */
if (self->groups)
self->groups = mem_gc_realloc_n_typed_zeroed(interp, self->groups,
- 1 + self->num_groups, self->num_groups, PackFile_Annotations_Group *);
+ 1 + self->num_groups, self->num_groups, PackFile_Annotations_Group);
else
self->groups = mem_gc_allocate_n_typed(interp,
- 1 + self->num_groups, PackFile_Annotations_Group *);
+ 1 + self->num_groups, PackFile_Annotations_Group);
/* Store details. */
- group = self->groups[self->num_groups] =
- mem_gc_allocate_zeroed_typed(interp, PackFile_Annotations_Group);
+ group = self->groups + self->num_groups;
group->bytecode_offset = offset;
group->entries_offset = self->num_entries;
@@ -4452,7 +4436,7 @@
INTVAL i;
for (i = 0; i < self->num_keys; ++i) {
- STRING * const test_key = PF_CONST(self->code, self->keys[i]->name)->u.string;
+ 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;
break;
@@ -4463,22 +4447,21 @@
/* We do have it. Add key entry. */
if (self->keys)
self->keys = mem_gc_realloc_n_typed_zeroed(interp, self->keys,
- 1 + self->num_keys, self->num_keys, PackFile_Annotations_Key *);
+ 1 + self->num_keys, self->num_keys, PackFile_Annotations_Key);
else
self->keys = mem_gc_allocate_n_typed(interp,
- 1 + self->num_keys, PackFile_Annotations_Key *);
+ 1 + self->num_keys, PackFile_Annotations_Key);
key_id = self->num_keys;
- self->keys[key_id] = mem_gc_allocate_typed(interp, PackFile_Annotations_Key);
++self->num_keys;
/* Populate it. */
- self->keys[key_id]->name = key;
- self->keys[key_id]->type = type;
+ self->keys[key_id].name = key;
+ self->keys[key_id].type = type;
}
else {
/* Ensure key types are compatible. */
- if (self->keys[key_id]->type != type)
+ if (self->keys[key_id].type != type)
Parrot_ex_throw_from_c_args(interp, NULL,
EXCEPTION_INVALID_OPERATION,
"Annotations with different types of value used for key '%S'\n",
@@ -4488,16 +4471,14 @@
/* Add annotations entry. */
if (self->entries)
self->entries = mem_gc_realloc_n_typed(interp, self->entries,
- 1 + self->num_entries, PackFile_Annotations_Entry *);
+ 1 + self->num_entries, PackFile_Annotations_Entry);
else
self->entries = mem_gc_allocate_n_typed(interp,
- 1 + self->num_entries, PackFile_Annotations_Entry *);
+ 1 + self->num_entries, PackFile_Annotations_Entry);
- self->entries[self->num_entries] =
- mem_gc_allocate_typed(interp, PackFile_Annotations_Entry);
- self->entries[self->num_entries]->bytecode_offset = offset;
- self->entries[self->num_entries]->key = key_id;
- self->entries[self->num_entries]->value = value;
+ self->entries[self->num_entries].bytecode_offset = offset;
+ self->entries[self->num_entries].key = key_id;
+ self->entries[self->num_entries].value = value;
++self->num_entries;
}
@@ -4572,7 +4553,7 @@
if (!STRING_IS_NULL(key)) {
for (i = 0; i < self->num_keys; ++i) {
- STRING * const test_key = PF_CONST(self->code, self->keys[i]->name)->u.string;
+ 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;
break;
@@ -4585,10 +4566,10 @@
/* Use groups to find search start point. */
for (i = 0; i < self->num_groups; ++i)
- if (offset < self->groups[i]->bytecode_offset)
+ if (offset < self->groups[i].bytecode_offset)
break;
else
- start_entry = self->groups[i]->entries_offset;
+ start_entry = self->groups[i].entries_offset;
if (key_id == -1) {
/* Look through entries, storing what we find by key and tracking those
@@ -4599,11 +4580,11 @@
self->num_keys, opcode_t);
for (i = start_entry; i < self->num_entries; ++i) {
- if (self->entries[i]->bytecode_offset >= offset)
+ if (self->entries[i].bytecode_offset >= offset)
break;
- latest_values[self->entries[i]->key] = self->entries[i]->value;
- have_values[self->entries[i]->key] = 1;
+ latest_values[self->entries[i].key] = self->entries[i].value;
+ have_values[self->entries[i].key] = 1;
}
/* Create hash of values we have. */
@@ -4611,9 +4592,9 @@
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;
+ STRING * const key_name = PF_CONST(self->code, self->keys[i].name)->u.string;
VTABLE_set_pmc_keyed_str(interp, result, key_name,
- make_annotation_value_pmc(interp, self, self->keys[i]->type,
+ make_annotation_value_pmc(interp, self, self->keys[i].type,
latest_values[i]));
}
}
@@ -4627,11 +4608,11 @@
opcode_t found_value = 0;
for (i = start_entry; i < self->num_entries; ++i) {
- if (self->entries[i]->bytecode_offset >= offset)
+ if (self->entries[i].bytecode_offset >= offset)
break;
- if (self->entries[i]->key == key_id) {
- latest_value = self->entries[i]->value;
+ if (self->entries[i].key == key_id) {
+ latest_value = self->entries[i].value;
found_value = 1;
}
}
@@ -4641,7 +4622,7 @@
result = PMCNULL;
else
result = make_annotation_value_pmc(interp, self,
- self->keys[key_id]->type, latest_value);
+ self->keys[key_id].type, latest_value);
}
return result;
Modified: branches/ops_pct/src/packout.c
==============================================================================
--- branches/ops_pct/src/packout.c Sat May 8 01:36:41 2010 (r46398)
+++ branches/ops_pct/src/packout.c Sat May 8 02:08:40 2010 (r46399)
@@ -1,5 +1,5 @@
/*
-Copyright (C) 2001-2009, Parrot Foundation.
+Copyright (C) 2001-2010, Parrot Foundation.
This program is free software. It is subject to the same license as
Parrot itself.
$Id$
@@ -218,24 +218,126 @@
PARROT_EXPORT
int
PackFile_find_in_const(PARROT_INTERP,
- ARGIN(const PackFile_ConstTable *ct), ARGIN(PMC *key), int type)
+ ARGIN(const PackFile_ConstTable *ct), ARGIN(PMC *key), int type)
{
ASSERT_ARGS(PackFile_find_in_const)
- int i;
+ int i = PackFile_ConstTable_rlookup(interp, ct, key, type);
+
+ if (i < 0) {
+ Parrot_io_eprintf(NULL, "find_in_const: couldn't find const for key\n");
+ Parrot_exit(interp, 1);
+ }
+
+ return i;
+}
+
+/*
+
+=item C<int PackFile_ConstTable_rlookup(PARROT_INTERP, const PackFile_ConstTable
+*ct, PMC *key, int type)>
+
+Reverse lookup a constant in the constant table.
+
+TODO: use a hash to make these O(1) for strings
+
+=cut
+
+*/
+
+PARROT_EXPORT
+int
+PackFile_ConstTable_rlookup(PARROT_INTERP,
+ ARGIN(const PackFile_ConstTable *ct), ARGIN(PMC *key), int type)
+{
+ ASSERT_ARGS(PackFile_ConstTable_rlookup)
+ int i, strings;
FLOATVAL key_num;
STRING *key_str;
+ PMC *string_list;
+
+ PARROT_ASSERT(type == PFC_STRING || type == PFC_NUMBER);
GETATTR_Key_str_key(interp, key, key_str);
GETATTR_Key_num_key(interp, key, key_num);
+ /*
+ * string_hash contains array of all possible charset/encoding
+ * combinations for given string.
+ *
+ * Because we don't have templateble PMC like tuple<charset, encoding, i>
+ * we store FIA [charset ^ encoding, i].
+ *
+ * So cache looks like this:
+ * "foo" => [
+ * [charset1 ^ encoding1, index1],
+ * ...
+ * [charsetN ^ encodingN, indexN]
+ * ]
+ */
+
+ if (type == PFC_STRING) {
+ /* Auto-vivify cache */
+ if (PMC_IS_NULL(ct->string_hash)) {
+ DECL_CONST_CAST;
+ PackFile_ConstTable * c = PARROT_const_cast(PackFile_ConstTable*, ct);
+ c->string_hash = Parrot_pmc_new(interp, enum_class_Hash);
+ }
+
+ /* Auto-vivify cache item */
+ string_list = VTABLE_get_pmc_keyed_str(interp, ct->string_hash, key_str);
+ if (PMC_IS_NULL(string_list)) {
+ string_list = Parrot_pmc_new(interp, enum_class_ResizablePMCArray);
+ VTABLE_set_pmc_keyed_str(interp, ct->string_hash, key_str, string_list);
+ }
+
+ /* Iterate of cache and try to find exactly this string */
+ strings = VTABLE_elements(interp, string_list);
+ for (i = 0; i < strings; ++i) {
+ PMC *item = VTABLE_get_pmc_keyed_int(interp, string_list, i);
+ INTVAL xored = VTABLE_get_integer_keyed_int(interp, item, 0);
+ if (((size_t)key_str->encoding ^ (size_t)key_str->charset) == (size_t)xored)
+ return VTABLE_get_integer_keyed_int(interp, item, 1);
+ }
+ }
+
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)
- return i;
+ PackFile_Constant *constant = ct->constants[i];
+
+ switch (type) {
+ case PFC_STRING:
+ if (constant->type == PFC_STRING) {
+ STRING * const sc = constant->u.string;
+ if (Parrot_str_equal(interp, key_str, sc)
+ && Parrot_charset_number_of_str(interp, key_str)
+ == Parrot_charset_number_of_str(interp, sc)
+ && Parrot_encoding_number_of_str(interp, key_str)
+ == Parrot_encoding_number_of_str(interp, sc)) {
+ /* Cache found string */
+ PMC *item = Parrot_pmc_new_init_int(interp,
+ enum_class_FixedIntegerArray, 2);
+ VTABLE_set_integer_keyed_int(interp, item, 0,
+ (size_t)sc->encoding ^ (size_t)sc->charset);
+ VTABLE_set_integer_keyed_int(interp, item, 1,
+ i);
+ VTABLE_push_pmc(interp, string_list, item);
+ return i;
+ }
+ }
+ break;
+
+ case PFC_NUMBER:
+ if (constant->type == PFC_NUMBER)
+ if (constant->u.number == key_num)
+ return i;
+ break;
+
+ default:
+ PANIC(interp, "Universe imploded. Did you divide by zero?");
+ }
}
- Parrot_io_eprintf(NULL, "find_in_const: couldn't find const for key\n");
- Parrot_exit(interp, 1);
+
+ /* not found */
+ return -1;
}
/*
Modified: branches/ops_pct/src/pmc/codestring.pmc
==============================================================================
--- branches/ops_pct/src/pmc/codestring.pmc Sat May 8 01:36:41 2010 (r46398)
+++ branches/ops_pct/src/pmc/codestring.pmc Sat May 8 02:08:40 2010 (r46399)
@@ -141,7 +141,7 @@
}
fmt = Parrot_str_replace(INTERP, fmt, pos, 2, repl);
- replen = Parrot_str_byte_length(INTERP, repl);
+ replen = Parrot_str_length(INTERP, repl);
}
GET_ATTR_str_val(INTERP, SELF, S1);
@@ -151,7 +151,7 @@
VTABLE_set_string_keyed_int(INTERP, parts, 1, fmt);
/* Add a newline if necessary */
- if ('\n' != Parrot_str_indexed(INTERP, fmt, Parrot_str_byte_length(INTERP, fmt) - 1))
+ if ('\n' != Parrot_str_indexed(INTERP, fmt, Parrot_str_length(INTERP, fmt) - 1))
VTABLE_set_string_keyed_int(INTERP, parts, 2, newline);
S1 = Parrot_str_join(INTERP, STRINGNULL, parts);
@@ -188,7 +188,7 @@
linepos = Parrot_pmc_new(INTERP, enum_class_ResizableIntegerArray);
/* get the string itself */
GET_ATTR_str_val(INTERP, SELF, str);
- eos = Parrot_str_byte_length(INTERP, str);
+ eos = Parrot_str_length(INTERP, str);
/* find the first newline, if any */
jpos = Parrot_str_find_cclass(INTERP, enum_cclass_newline,
str, 0, eos);
Modified: branches/ops_pct/src/pmc/filehandle.pmc
==============================================================================
--- branches/ops_pct/src/pmc/filehandle.pmc Sat May 8 01:36:41 2010 (r46398)
+++ branches/ops_pct/src/pmc/filehandle.pmc Sat May 8 02:08:40 2010 (r46399)
@@ -459,7 +459,6 @@
result = Parrot_io_reads(INTERP, filehandle, size);
Parrot_io_close(INTERP, filehandle);
- RETURN(STRING *result);
}
else {
/* slurp open file */
@@ -467,19 +466,16 @@
Parrot_ex_throw_from_c_args(INTERP, NULL, EXCEPTION_PIO_ERROR,
"Cannot readall without a file name or open filehandle");
- result = Parrot_str_new_noinit(INTERP, enum_stringrep_one, 0);
-
/* Do line buffering on the filehandle */
if (!(PARROT_FILEHANDLE(SELF)->flags & PIO_F_LINEBUF))
Parrot_io_setlinebuf(INTERP, SELF);
+ result = STRINGNULL;
do {
STRING * const part = Parrot_io_reads(INTERP, SELF, 0);
- result = Parrot_str_concat(INTERP, result, part);
-
- if (Parrot_io_eof(INTERP, SELF))
- break;
- } while (1);
+ result = STRING_IS_NULL(result) ? part :
+ Parrot_str_concat(INTERP, result, part);
+ } while (!Parrot_io_eof(INTERP, SELF));
}
RETURN(STRING *result);
Modified: branches/ops_pct/src/pmc/imageio.pmc
==============================================================================
--- branches/ops_pct/src/pmc/imageio.pmc Sat May 8 01:36:41 2010 (r46398)
+++ branches/ops_pct/src/pmc/imageio.pmc Sat May 8 02:08:40 2010 (r46399)
@@ -536,23 +536,15 @@
VTABLE void push_string(STRING *v) {
if (PObj_flag_TEST(private1, SELF)) {
/* store a reference to constant table entry of string */
- int i;
+ PMC *v_pmc = key_new_string(interp, v);
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;
- }
- }
+ int idx = PackFile_ConstTable_rlookup(INTERP, table, v_pmc, PFC_STRING);
+
+ if (idx >= 0) {
+ STATICSELF.push_integer(idx);
+ return;
}
+
/* XXX
* handle cases where the PMC has changed after Parrot_freeze_strings was called
* eg: :immediate subs
Modified: branches/ops_pct/src/pmc/imageiosize.pmc
==============================================================================
--- branches/ops_pct/src/pmc/imageiosize.pmc Sat May 8 01:36:41 2010 (r46398)
+++ branches/ops_pct/src/pmc/imageiosize.pmc Sat May 8 02:08:40 2010 (r46399)
@@ -246,23 +246,16 @@
VTABLE void push_string(STRING *v) {
if (PObj_flag_TEST(private1, SELF)) {
- /* look for a reference to constant table entry of string */
- int i;
+ /* store a reference to constant table entry of string */
+ PMC *v_pmc = key_new_string(interp, v);
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;
- }
- }
+ int idx = PackFile_ConstTable_rlookup(INTERP, table, v_pmc, PFC_STRING);
+
+ if (idx >= 0) {
+ STATICSELF.push_integer(idx);
+ return;
}
+
/* XXX
* handle cases where the PMC has changed after Parrot_freeze_strings was called
* eg: :immediate subs
Modified: branches/ops_pct/src/pmc/packfileannotations.pmc
==============================================================================
--- branches/ops_pct/src/pmc/packfileannotations.pmc Sat May 8 01:36:41 2010 (r46398)
+++ branches/ops_pct/src/pmc/packfileannotations.pmc Sat May 8 02:08:40 2010 (r46399)
@@ -37,6 +37,9 @@
/* ConstantTable used for names lookup */
ATTR PMC *const_table;
+ /* Annotations group: two RIA for a now */
+ ATTR PMC *gr_byte;
+ ATTR PMC *gr_entries;
/* RPA of Annotation */
ATTR PMC *annotations;
@@ -219,11 +222,25 @@
PMC *annotation;
Parrot_PackfileAnnotation_attributes *annotation_attrs;
+ /* Copy annotations groups */
+ if (a->num_groups > 0) {
+ attrs->gr_byte = Parrot_pmc_new_init_int(INTERP,
+ enum_class_ResizableIntegerArray, a->num_groups);
+ attrs->gr_entries = Parrot_pmc_new_init_int(INTERP,
+ enum_class_ResizableIntegerArray, a->num_groups);
+ for (i = 0; i < a->num_groups; ++i) {
+ VTABLE_set_integer_keyed_int(INTERP, attrs->gr_byte, i,
+ a->groups[i].bytecode_offset);
+ VTABLE_set_integer_keyed_int(INTERP, attrs->gr_entries, i,
+ a->groups[i].entries_offset);
+ }
+ }
+
/* Copy annotations to own array */
VTABLE_set_integer_native(INTERP, attrs->annotations, a->num_entries);
for (i = 0; i < a->num_entries; ++i) {
- PackFile_Annotations_Entry *entry = a->entries[i];
- PackFile_Annotations_Key *key = a->keys[entry->key];
+ PackFile_Annotations_Entry *entry = a->entries + i;
+ PackFile_Annotations_Key *key = a->keys + entry->key;
annotation = Parrot_pmc_new(INTERP, enum_class_PackfileAnnotation);
/* Poke directly to annotation attributes. */
@@ -280,6 +297,21 @@
res->base.type = PF_ANNOTATIONS_SEG;
+ /* Create annotations groups */
+ num = PMC_IS_NULL(attrs->gr_byte) ?
+ (INTVAL)0 : VTABLE_elements(INTERP, attrs->gr_byte);
+ res->num_groups = num;
+ if (num > 0) {
+ res->groups = mem_gc_allocate_n_zeroed_typed(interp,
+ num, PackFile_Annotations_Group);
+ for (i = 0; i < num; ++i) {
+ res->groups[i].bytecode_offset =
+ VTABLE_get_integer_keyed_int(INTERP, attrs->gr_byte, i);
+ res->groups[i].entries_offset =
+ VTABLE_get_integer_keyed_int(INTERP, attrs->gr_entries, i);
+ }
+ }
+
/*
Create keys. Hash will be created in next structure:
keys => {
@@ -305,7 +337,7 @@
/* Iterate over stored annotations and create Key if required. */
num = VTABLE_elements(INTERP, attrs->annotations);
res->num_entries = num;
- res->entries = mem_gc_allocate_n_typed(INTERP, num, PackFile_Annotations_Entry*);
+ res->entries = mem_gc_allocate_n_typed(INTERP, num, PackFile_Annotations_Entry);
for (i = 0; i < num; ++i) {
PMC * const entity = VTABLE_get_pmc_keyed_int(INTERP, attrs->annotations, i);
const Parrot_PackfileAnnotation_attributes * const entity_attrs =
@@ -344,26 +376,24 @@
/* At this point we have create (if nesassary) key and name constant. */
/* Start storing real entity */
- res->entries[i] = mem_gc_allocate_zeroed_typed(INTERP,
- PackFile_Annotations_Entry);
- res->entries[i]->bytecode_offset = entity_attrs->offset;
- res->entries[i]->key = key_id;
+ res->entries[i].bytecode_offset = entity_attrs->offset;
+ res->entries[i].key = key_id;
/* Handle value */
switch (entity_attrs->value_type) {
case PF_ANNOTATION_KEY_TYPE_INT:
- res->entries[i]->value = entity_attrs->int_value;
+ res->entries[i].value = entity_attrs->int_value;
break;
case PF_ANNOTATION_KEY_TYPE_STR:
Parrot_mmd_multi_dispatch_from_c_args(INTERP, "get_or_create_constant",
"PS->I", attrs->const_table, entity_attrs->str_value,
- &res->entries[i]->value);
+ &res->entries[i].value);
break;
case PF_ANNOTATION_KEY_TYPE_NUM:
Parrot_mmd_multi_dispatch_from_c_args(INTERP, "get_or_create_constant",
"PN->I", attrs->const_table, entity_attrs->num_value,
- &res->entries[i]->value);
+ &res->entries[i].value);
break;
default:
Parrot_ex_throw_from_c_args(INTERP, NULL, EXCEPTION_MALFORMED_PACKFILE,
@@ -375,11 +405,10 @@
num = VTABLE_elements(INTERP, types);
res->num_keys = num;
res->keys = mem_gc_allocate_n_zeroed_typed(INTERP, num,
- PackFile_Annotations_Key*);
+ PackFile_Annotations_Key);
for (i = 0; i < num; ++i) {
- res->keys[i] = mem_gc_allocate_typed(INTERP, PackFile_Annotations_Key);
- res->keys[i]->name = VTABLE_get_integer_keyed_int(INTERP, names, i);
- res->keys[i]->type = VTABLE_get_integer_keyed_int(INTERP, types, i);
+ res->keys[i].name = VTABLE_get_integer_keyed_int(INTERP, names, i);
+ res->keys[i].type = VTABLE_get_integer_keyed_int(INTERP, types, i);
}
return res;
Modified: branches/ops_pct/src/pmc/string.pmc
==============================================================================
--- branches/ops_pct/src/pmc/string.pmc Sat May 8 01:36:41 2010 (r46398)
+++ branches/ops_pct/src/pmc/string.pmc Sat May 8 02:08:40 2010 (r46399)
@@ -689,17 +689,19 @@
unsigned char *p;
INTVAL *tr_data;
INTVAL i;
+ STRING *dest;
const INTVAL len = Parrot_str_byte_length(INTERP, src);
if (!len)
- RETURN(void);
+ RETURN(STRING src);
if (src->charset != Parrot_ascii_charset_ptr)
Parrot_ex_throw_from_c_args(INTERP, NULL, EXCEPTION_INVALID_ENCODING,
"Can't translate non-ascii");
- p = (unsigned char *)(src->strstart);
+ dest = Parrot_str_clone(INTERP, src);
+ p = (unsigned char *)(dest->strstart);
/* TODO verify trans table */
GETATTR_FixedIntegerArray_int_array(INTERP, table, tr_data);
@@ -709,6 +711,9 @@
if (ch)
*p = ch;
}
+
+ dest->hashval = 0; /* hash is invalid */
+ RETURN(STRING dest);
}
/*
Copied: branches/ops_pct/src/pmc/stringbuilder.pmc (from r46398, trunk/src/pmc/stringbuilder.pmc)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ branches/ops_pct/src/pmc/stringbuilder.pmc Sat May 8 02:08:40 2010 (r46399, copy of r46398, trunk/src/pmc/stringbuilder.pmc)
@@ -0,0 +1,289 @@
+/*
+Copyright (C) 2010, Parrot Foundation.
+$Id$
+
+=head1 NAME
+
+src/pmc/stringbuilder.pmc - StringBuilder PMC Class
+
+=head1 DESCRIPTION
+
+TODO: Add description here.
+
+=head2 Methods
+
+=over 4
+
+=cut
+
+*/
+
+#include "parrot/string_funcs.h"
+
+/* HEADERIZER HFILE: none */
+/* HEADERIZER BEGIN: static */
+/* Don't modify between HEADERIZER BEGIN / HEADERIZER END. Your changes will be lost. */
+
+static size_t calculate_capacity(SHIM_INTERP,
+ size_t current,
+ size_t additional);
+
+#define ASSERT_ARGS_calculate_capacity __attribute__unused__ int _ASSERT_ARGS_CHECK = (0)
+/* Don't modify between HEADERIZER BEGIN / HEADERIZER END. Your changes will be lost. */
+/* HEADERIZER END: static */
+
+#define INITIAL_STRING_CAPACITY 128
+
+pmclass StringBuilder provides string auto_attrs {
+ ATTR STRING *buffer; /* Mutable string to gather results */
+
+/*
+
+=item C<void init()>
+
+Initializes the StringBuilder.
+
+=cut
+
+*/
+
+ VTABLE void init() {
+ STATICSELF.init_int(INITIAL_STRING_CAPACITY);
+ }
+
+/*
+
+=item C<void init_int()>
+
+Initializes the StringBuilder with initial size of buffer.
+
+=cut
+
+*/
+
+ VTABLE void init_int(INTVAL initial_size) {
+ STRING * const buffer = Parrot_str_new_init(INTERP, NULL, initial_size,
+ Parrot_default_encoding_ptr, Parrot_default_charset_ptr, 0);
+ SET_ATTR_buffer(INTERP, SELF, buffer);
+
+ PObj_custom_mark_SET(SELF);
+ }
+
+/*
+
+=item C<void mark()>
+
+Marks the StringBuilder as live.
+
+=cut
+
+*/
+
+ VTABLE void mark() {
+ STRING *buffer;
+
+ if (!PMC_data(SELF))
+ return;
+
+ GET_ATTR_buffer(INTERP, SELF, buffer);
+ Parrot_gc_mark_STRING_alive(INTERP, buffer);
+ }
+
+/*
+
+=item C<STRING *get_string()>
+
+Clones and returns current buffer. We need clone because outside of
+StringBuilder strings are immutable.
+
+=cut
+
+*/
+
+ VTABLE STRING *get_string() {
+ STRING *buffer, *retv;
+ GET_ATTR_buffer(INTERP, SELF, buffer);
+ retv = Parrot_str_clone(INTERP, buffer);
+ retv->hashval = 0; /* hash is invalid */
+ return retv;
+ }
+
+/*
+
+=item C<STRING *push_string()>
+
+Append string to current buffer.
+
+=cut
+
+*/
+
+ VTABLE void push_string(STRING *s) {
+ STRING *buffer;
+ size_t total_size;
+ const CHARSET *cs;
+ const ENCODING *enc = NULL;
+
+ /* Early return on NULL strings */
+ if (STRING_IS_NULL(s))
+ return;
+
+ GET_ATTR_buffer(INTERP, SELF, buffer);
+
+ /* If strings are incompatible - convert them */
+ /* TODO Ask chromatic why in Parrot_str_join he ignored charset */
+ cs = Parrot_str_rep_compatible(interp, buffer, s, &enc);
+ if (!cs) {
+ cs = Parrot_unicode_charset_ptr;
+ enc = (buffer->encoding == Parrot_utf16_encoding_ptr
+ || s->encoding == Parrot_utf16_encoding_ptr
+ || buffer->encoding == Parrot_ucs2_encoding_ptr
+ || s->encoding == Parrot_ucs2_encoding_ptr)
+ ? Parrot_utf16_encoding_ptr
+ : Parrot_utf8_encoding_ptr;
+
+ buffer = Parrot_unicode_charset_ptr->to_charset(interp, buffer);
+ s = Parrot_unicode_charset_ptr->to_charset(interp, s);
+
+ SET_ATTR_buffer(INTERP, SELF, buffer);
+ }
+
+ /* Calculate (possibly new) total size */
+ total_size = calculate_capacity(INTERP, buffer->bufused, s->bufused);
+
+ /* Reallocate if necessary */
+ if (total_size > Buffer_buflen(buffer))
+ Parrot_gc_reallocate_string_storage(INTERP, buffer, total_size);
+
+ /* Tack s on the end of buffer */
+ mem_sys_memcopy((void *)((ptrcast_t)buffer->strstart + buffer->bufused),
+ s->strstart, s->bufused);
+
+ /* Update buffer */
+ buffer->bufused += s->bufused;
+ buffer->strlen += Parrot_str_length(INTERP, s);
+
+ PARROT_ASSERT(buffer->bufused <= Buffer_buflen(buffer));
+ }
+
+/*
+
+=item C<VTABLE i_concatenate_str()>
+
+=item C<VTABLE i_concatenate()>
+
+Append string. Synonym for push_string
+
+=cut
+
+*/
+
+ VTABLE void i_concatenate_str(STRING *s) {
+ SELF.push_string(s);
+ }
+
+ VTABLE void i_concatenate(PMC *p) {
+ SELF.push_string(VTABLE_get_string(INTERP, p));
+ }
+
+ VTABLE void push_pmc(PMC *p) {
+ SELF.push_string(VTABLE_get_string(INTERP, p));
+ }
+
+/*
+
+=item C<VTABLE set_string_native()>
+
+Set content of buffer to passed string
+
+=cut
+
+*/
+ VTABLE void set_string_native(STRING *s) {
+ SET_ATTR_buffer(INTERP, SELF, Parrot_str_clone(INTERP, s));
+ }
+
+
+/*
+
+=item C<VTABLE get_integer()>
+
+Returns current capacity of allocated buffer.
+
+For testing purpose only?
+
+=cut
+
+*/
+ INTVAL get_integer() {
+ STRING *buffer;
+ GET_ATTR_buffer(INTERP, SELF, buffer);
+ return Buffer_buflen(buffer);
+ }
+
+/*
+
+=back
+
+=cut
+
+*/
+
+}
+
+
+/*
+
+=head2 Helper functions.
+
+=over 4
+
+=cut
+
+*/
+
+/*
+
+=item C<static size_t calculate_capacity(PARROT_INTERP, size_t current, size_t
+additional)>
+
+Calculate capacity for string. Usually StringBuilders used for "large"
+strings. So capacity rounded up by next algorithm:
+ - By 128 bytes if total capacity less then 1KB
+ - By 1KB if total less than 4KB
+ - By 4KB if total less than 1MB
+ - By 1MB otherwise.
+
+This function is subject for tuning on real-world usage scenarios.
+
+=back
+
+=cut
+
+*/
+
+static size_t
+calculate_capacity(SHIM_INTERP, size_t current, size_t additional)
+{
+ ASSERT_ARGS(calculate_capacity)
+ size_t total_size = current + additional;
+ size_t chunk_size = 1024*1024;
+
+ if (total_size < 1024)
+ chunk_size = 128;
+ else if (total_size < 4096)
+ chunk_size = 1024;
+ else if (total_size < 1024*1024)
+ chunk_size = 4096;
+
+ total_size = (total_size / chunk_size + 1) * chunk_size;
+
+ return total_size;
+}
+
+/*
+ * Local variables:
+ * c-file-style: "parrot"
+ * End:
+ * vim: expandtab shiftwidth=4:
+ */
Modified: branches/ops_pct/src/string/api.c
==============================================================================
--- branches/ops_pct/src/string/api.c Sat May 8 01:36:41 2010 (r46398)
+++ branches/ops_pct/src/string/api.c Sat May 8 02:08:40 2010 (r46399)
@@ -294,6 +294,32 @@
return NULL;
}
+/*
+
+=item C<const CHARSET * Parrot_str_rep_compatible(PARROT_INTERP, const STRING
+*a, const STRING *b, const ENCODING **e)>
+
+Find the "lowest" possible charset and encoding for the given string. E.g.
+
+ ascii <op> utf8 => utf8
+ => ascii, B<if> C<STRING *b> has ascii chars only.
+
+Returns NULL, if no compatible string representation can be found.
+
+=cut
+
+*/
+
+PARROT_INLINE
+PARROT_IGNORABLE_RESULT
+PARROT_CAN_RETURN_NULL
+const CHARSET *
+Parrot_str_rep_compatible(PARROT_INTERP,
+ ARGIN(const STRING *a), ARGIN(const STRING *b), ARGOUT(const ENCODING **e))
+{
+ ASSERT_ARGS(Parrot_str_rep_compatible)
+ return string_rep_compatible(interp, a, b, e);
+}
/*
@@ -374,13 +400,13 @@
/*
-=item C<STRING * Parrot_str_concat(PARROT_INTERP, STRING *a, STRING *b)>
+=item C<STRING * Parrot_str_concat(PARROT_INTERP, const STRING *a, const STRING
+*b)>
Concatenates two Parrot strings. If necessary, converts the second
string's encoding and/or type to match those of the first string. If
either string is C<NULL>, then a copy of the non-C<NULL> string is
-returned. If both strings are C<NULL>, then a new zero-length string is
-created and returned.
+returned. If both strings are C<NULL>, return C<STRINGNULL>.
=cut
@@ -389,37 +415,34 @@
PARROT_EXPORT
PARROT_CANNOT_RETURN_NULL
STRING *
-Parrot_str_concat(PARROT_INTERP, ARGIN_NULLOK(STRING *a),
- ARGIN_NULLOK(STRING *b))
+Parrot_str_concat(PARROT_INTERP, ARGIN_NULLOK(const STRING *a),
+ ARGIN_NULLOK(const STRING *b))
{
ASSERT_ARGS(Parrot_str_concat)
const CHARSET *cs;
- const ENCODING *enc;
+ const ENCODING *enc = NULL;
STRING *dest;
UINTVAL total_length;
/* XXX should this be a CHARSET method? */
/* If B isn't real, we just bail */
- const UINTVAL b_len = b ? Parrot_str_byte_length(interp, b) : 0;
+ const UINTVAL b_len = b ? Parrot_str_length(interp, b) : 0;
if (!b_len)
- return a;
+ return STRING_IS_NULL(a) ? STRINGNULL : Parrot_str_copy(interp, a);
/* Is A real? */
if (STRING_IS_NULL(a) || Buffer_bufstart(a) == NULL)
- return b;
+ return Parrot_str_copy(interp, b);
ASSERT_STRING_SANITY(a);
ASSERT_STRING_SANITY(b);
cs = string_rep_compatible(interp, a, b, &enc);
- if (cs) {
- a->charset = cs;
- a->encoding = enc;
- }
- else {
+ if (!cs) {
/* upgrade strings for concatenation */
+ cs = Parrot_unicode_charset_ptr;
enc = (a->encoding == Parrot_utf16_encoding_ptr
|| b->encoding == Parrot_utf16_encoding_ptr
|| a->encoding == Parrot_ucs2_encoding_ptr
@@ -435,13 +458,14 @@
if (b->encoding != enc)
b = enc->to_encoding(interp, b);
}
-
/* calc usable and total bytes */
total_length = a->bufused + b->bufused;
dest = Parrot_str_new_noinit(interp, enum_stringrep_one, total_length);
- dest->encoding = a->encoding;
- dest->charset = a->charset;
+ PARROT_ASSERT(enc);
+ PARROT_ASSERT(cs);
+ dest->encoding = enc;
+ dest->charset = cs;
/* Copy A first */
mem_sys_memcopy(dest->strstart, a->strstart, a->bufused);
@@ -773,7 +797,7 @@
{
ASSERT_ARGS(Parrot_str_byte_length)
- return STRING_IS_NULL(s) ? 0 : s->strlen;
+ return STRING_IS_NULL(s) ? 0 : s->bufused;
}
@@ -828,7 +852,7 @@
if (start < 0)
return -1;
- len = Parrot_str_byte_length(interp, s);
+ len = Parrot_str_length(interp, s);
if (!len)
return -1;
@@ -836,7 +860,7 @@
if (start >= (INTVAL)len)
return -1;
- if (!Parrot_str_byte_length(interp, s2))
+ if (!Parrot_str_length(interp, s2))
return -1;
else {
DECL_CONST_CAST;
@@ -872,7 +896,7 @@
Parrot_ex_throw_from_c_args(interp, NULL, EXCEPTION_ORD_OUT_OF_STRING,
"Cannot get character of NULL string");
- len = Parrot_str_byte_length(interp, s);
+ len = Parrot_str_length(interp, s);
if (len == 0)
Parrot_ex_throw_from_c_args(interp, NULL, EXCEPTION_ORD_OUT_OF_STRING,
"Cannot get character of empty string");
@@ -900,8 +924,6 @@
Returns a single-character Parrot string.
-TODO - Allow this to take an array of characters?
-
=cut
*/
@@ -937,7 +959,7 @@
=item C<INTVAL Parrot_str_length(PARROT_INTERP, const STRING *s)>
-Calculates and returns the number of characters in the specified Parrot string.
+Returns the number of characters in the specified Parrot string.
=cut
@@ -946,11 +968,11 @@
PARROT_EXPORT
PARROT_WARN_UNUSED_RESULT
INTVAL
-Parrot_str_length(SHIM_INTERP, ARGIN(const STRING *s))
+Parrot_str_length(SHIM_INTERP, ARGIN_NULLOK(const STRING *s))
{
ASSERT_ARGS(Parrot_str_length)
- return s->strlen;
+ return STRING_IS_NULL(s) ? 0 : s->strlen;
}
@@ -1046,7 +1068,7 @@
ASSERT_STRING_SANITY(src);
/* Allow regexes to return $' easily for "aaa" =~ /aaa/ */
- if (offset == (INTVAL)Parrot_str_byte_length(interp, src) || length < 1)
+ if (offset == (INTVAL)Parrot_str_length(interp, src) || length < 1)
return Parrot_str_new_noinit(interp, enum_stringrep_one, 0);
if (offset < 0)
@@ -2217,7 +2239,7 @@
Parrot_str_pin(SHIM_INTERP, ARGMOD(STRING *s))
{
ASSERT_ARGS(Parrot_str_pin)
- size_t size = Buffer_buflen(s);
+ const size_t size = Buffer_buflen(s);
char *memory = (char *)mem_internal_allocate(size);
mem_sys_memcopy(memory, Buffer_bufstart(s), size);
@@ -3048,7 +3070,7 @@
/*
-=item C<PMC* Parrot_str_split(PARROT_INTERP, STRING *delim, STRING *str)>
+=item C<PMC* Parrot_str_split(PARROT_INTERP, const STRING *delim, STRING *str)>
Splits the string C<str> at the delimiter C<delim>, returning a
C<ResizableStringArray>, or his mapped type in the current HLL, of results.
@@ -3063,7 +3085,7 @@
PARROT_CAN_RETURN_NULL
PMC*
Parrot_str_split(PARROT_INTERP,
- ARGIN_NULLOK(STRING *delim), ARGIN_NULLOK(STRING *str))
+ ARGIN_NULLOK(const STRING *delim), ARGIN_NULLOK(STRING *str))
{
ASSERT_ARGS(Parrot_str_split)
PMC *res;
@@ -3074,12 +3096,12 @@
res = Parrot_pmc_new(interp,
Parrot_get_ctx_HLL_type(interp, enum_class_ResizableStringArray));
- slen = Parrot_str_byte_length(interp, str);
+ slen = Parrot_str_length(interp, str);
if (!slen)
return res;
- dlen = Parrot_str_byte_length(interp, delim);
+ dlen = Parrot_str_length(interp, delim);
if (dlen == 0) {
int i;
@@ -3107,7 +3129,7 @@
STRING * const tstr = Parrot_str_substr(interp, str, ps, pl);
VTABLE_push_string(interp, res, tstr);
- ps = pe + Parrot_str_byte_length(interp, delim);
+ ps = pe + Parrot_str_length(interp, delim);
if (ps > slen)
break;
Copied: branches/ops_pct/t/distro/manifest_generated.t (from r46398, trunk/t/distro/manifest_generated.t)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ branches/ops_pct/t/distro/manifest_generated.t Sat May 8 02:08:40 2010 (r46399, copy of r46398, trunk/t/distro/manifest_generated.t)
@@ -0,0 +1,61 @@
+#! perl
+# Copyright (C) 2001-2010, Parrot Foundation.
+# $Id$
+
+use strict;
+use warnings;
+use lib qw( . lib ../lib ../../lib );
+
+use Test::More;
+plan(tests => 5);
+
+=head1 NAME
+
+t/distro/manifest_generated.t - check sanity of MANIFEST.generated file
+
+=head1 SYNOPSIS
+
+ % prove t/distro/manifest_generated.t
+
+=head1 DESCRIPTION
+
+Checks that MANIFEST.generated is in the required format (eg: sorted) and that it
+contains appropriate items (eg: PMC generated files).
+
+=cut
+
+ok( -e 'MANIFEST.generated', 'MANIFEST.generated exists' );
+
+# slurp MANIFEST.generated, ignoring comment lines
+open my $fh, '<', 'MANIFEST.generated'
+ or die "open MANIFEST.generated: $!";
+my @contents = grep {!/^#/} map {chomp; $_} <$fh>;
+close $fh;
+
+is_deeply([sort @contents], \@contents, 'MANIFEST.generated is sorted');
+
+# parse records
+my @records;
+is_deeply( [grep {
+ my $match = m/^ (\S+) \s+ (\[ \w* \] \w*) $/x;
+ push @records, [$1, $2] if $match;
+ not $match } @contents],
+ [],
+ 'MANIFEST.generated contains no irregular records' );
+
+# check for appropriate contents
+my %contained_files = map {$$_[0] => 1} @records;
+is_deeply( [],
+ [grep {not exists $contained_files{$_}} glob('include/pmc/*.h')],
+ 'MANIFEST.generated lists all core PMC headers' );
+
+is_deeply( [],
+ [grep {not exists $contained_files{$_}} glob('src/pmc/*.dump')],
+ 'MANIFEST.generated lists all core PMC dump files' )
+
+# Local Variables:
+# mode: cperl
+# cperl-indent-level: 4
+# fill-column: 100
+# End:
+# vim: expandtab shiftwidth=4:
Modified: branches/ops_pct/t/dynpmc/gziphandle.t
==============================================================================
--- branches/ops_pct/t/dynpmc/gziphandle.t Sat May 8 01:36:41 2010 (r46398)
+++ branches/ops_pct/t/dynpmc/gziphandle.t Sat May 8 02:08:40 2010 (r46399)
@@ -22,7 +22,7 @@
.local pmc config_hash, interp
.local int num_tests
- num_tests = 3
+ num_tests = 6
plan(num_tests)
interp = getinterp
config_hash = interp[.IGLOBALS_CONFIG_HASH]
@@ -32,6 +32,7 @@
$P0 = loadlib 'gziphandle'
test_handle()
test_version()
+ test_basic()
.return()
no_zlib:
@@ -56,6 +57,17 @@
is($I0, 0, 'zlib version')
.end
+.sub 'test_basic'
+ $P0 = new 'GzipHandle'
+ .const string data = "message"
+ $I0 = $P0.'crc32'(0, data)
+ ok($I0, "crc32")
+ $S0 = $P0.'compress'(data)
+ $I0 = length $S0
+ is($I0, 15, "compress")
+ $S0 = $P0.'uncompress'($S0)
+ is($S0, data, "uncompress")
+.end
# Local Variables:
# mode: pir
Copied: branches/ops_pct/t/library/archive_zip.t (from r46398, trunk/t/library/archive_zip.t)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ branches/ops_pct/t/library/archive_zip.t Sat May 8 02:08:40 2010 (r46399, copy of r46398, trunk/t/library/archive_zip.t)
@@ -0,0 +1,72 @@
+#!./parrot
+# Copyright (C) 2010, Parrot Foundation.
+# $Id$
+
+=head1 NAME
+
+t/library/archive_zip.t
+
+=head1 DESCRIPTION
+
+Test the Archive/Zip library
+
+=head1 SYNOPSIS
+
+ % prove t/library/archive_zip.t
+
+=cut
+
+.sub 'main' :main
+ .include 'test_more.pir'
+
+ load_bytecode 'Archive/Zip.pir'
+
+ plan(14)
+ test_new()
+ test_pack()
+.end
+
+.sub 'test_new'
+ $P0 = new ['Archive';'Zip']
+ $I0 = isa $P0, ['Archive';'Zip']
+ ok($I0, "new ['Archive';'Zip']")
+ $I0 = isa $P0, ['Archive';'Zip';'Base']
+ ok($I0, "is a ['Archive';'Zip';'Base']")
+ $P0 = new ['Archive';'Zip';'Member']
+ $I0 = isa $P0, ['Archive';'Zip';'Member']
+ ok($I0, "new ['Archive';'Zip';'Member']")
+ $I0 = isa $P0, ['Archive';'Zip';'Base']
+ ok($I0, "is a ['Archive';'Zip';'Base']")
+ $P0 = new ['Archive';'Zip';'FileMember']
+ $I0 = isa $P0, ['Archive';'Zip';'FileMember']
+ ok($I0, "new ['Archive';'Zip';'FileMember']")
+ $I0 = isa $P0, ['Archive';'Zip';'Member']
+ ok($I0, "is a ['Archive';'Zip';'Member']")
+ $P0 = new ['Archive';'Zip';'NewFileMember']
+ $I0 = isa $P0, ['Archive';'Zip';'NewFileMember']
+ ok($I0, "new ['Archive';'Zip';'NewFileMember']")
+ $I0 = isa $P0, ['Archive';'Zip';'FileMember']
+ ok($I0, "is a ['Archive';'Zip';'FileMember']")
+.end
+
+.sub 'test_pack'
+ $P0 = new ['Archive';'Zip']
+ $S0 = $P0.'pack_C'(0x12)
+ is( $S0, "\x12", "pack C (unsigned char)" )
+ $I0 = length $S0
+ is( $I0, 1 )
+ $S0 = $P0.'pack_v'(0x1234)
+ is( $S0, "\x34\x12", "pack v (16bits litle endian)" )
+ $I0 = length $S0
+ is( $I0, 2 )
+ $S0 = $P0.'pack_V'(0x12345678)
+ is( $S0, "\x78\x56\x34\x12", "pack V (32bits litle endian)" )
+ $I0 = length $S0
+ is( $I0, 4 )
+.end
+
+# Local Variables:
+# mode: pir
+# fill-column: 100
+# End:
+# vim: expandtab shiftwidth=4 ft=pir:
Modified: branches/ops_pct/t/native_pbc/annotations.pbc
==============================================================================
Binary file (source and/or target). No diff available.
Modified: branches/ops_pct/t/native_pbc/integer_1.pbc
==============================================================================
Binary file (source and/or target). No diff available.
Modified: branches/ops_pct/t/native_pbc/number_1.pbc
==============================================================================
Binary file (source and/or target). No diff available.
Modified: branches/ops_pct/t/native_pbc/string_1.pbc
==============================================================================
Binary file (source and/or target). No diff available.
Modified: branches/ops_pct/t/pmc/string.t
==============================================================================
--- branches/ops_pct/t/pmc/string.t Sat May 8 01:36:41 2010 (r46398)
+++ branches/ops_pct/t/pmc/string.t Sat May 8 02:08:40 2010 (r46399)
@@ -20,7 +20,7 @@
.sub main :main
.include 'test_more.pir'
- plan(166)
+ plan(167)
set_or_get_strings()
setting_integers()
@@ -814,9 +814,10 @@
is( el, 256, 'elements' )
$P0 = new ['String']
- $P0.'trans'(s, tr_00)
+ t = $P0.'trans'(s, tr_00)
- is( s, 'TAACGSTAACGS', 'trans' )
+ is( t, 'TAACGSTAACGS', 'trans' )
+ is( s, 'atugcsATUGCS', "trans doesn't touch source string")
.end
# create tr table at compile-time
Copied: branches/ops_pct/t/pmc/stringbuilder.t (from r46398, trunk/t/pmc/stringbuilder.t)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ branches/ops_pct/t/pmc/stringbuilder.t Sat May 8 02:08:40 2010 (r46399, copy of r46398, trunk/t/pmc/stringbuilder.t)
@@ -0,0 +1,168 @@
+#!./parrot
+# Copyright (C) 2010, Parrot Foundation.
+# $Id$
+
+=head1 NAME
+
+t/pmc/stringbuilder.t - StringBuilder
+
+=head1 SYNOPSIS
+
+ % prove t/pmc/stringbuilder.t
+
+=head1 DESCRIPTION
+
+Tests the C<StringBuilder> PMC.
+
+=cut
+
+
+.sub 'main' :main
+ .include 'test_more.pir'
+
+ plan(21)
+ test_create() # 2 tests
+ test_push_string() # 9 tests
+ test_push_pmc() # 4 tests
+ test_push_string_unicode() # 1 test
+ test_i_concatenate() # 1 test
+ test_set_string_native() # 3 tests
+
+ # END_OF_TESTS
+.end
+
+.sub 'test_create'
+ .local pmc sb
+ sb = new ['StringBuilder']
+
+ $I0 = isnull sb
+ not $I0
+ ok( $I0, 'StringBuilder created' )
+
+ $S0 = sb
+ is( $S0, '', '... with empty content')
+
+.end
+
+.sub 'test_push_string'
+ .local pmc sb
+ sb = new ["StringBuilder"]
+
+ push sb, "foo"
+ $S0 = sb
+ is( $S0, "foo", "First string pushed")
+
+ push sb, "bar"
+ $S1 = sb
+ is( $S1, "foobar", "Second string pushed")
+
+ is( $S0, "foo", "... without clobbering first string")
+
+ $I0 = sb
+ is( $I0, 128, "... and capacity still 128" )
+
+ # Push large string which will cause reallocate
+ $S99 = repeat "x", 128
+ push sb, $S99
+
+ $S0 = concat "foobar", $S99
+ $S1 = sb
+ is( $S0, $S1, "Push 128 chars string works")
+
+ $I0 = sb
+ is( $I0, 256, "... and capacity increased" )
+
+ $S99 = repeat "x", 1000
+ push sb, $S99
+
+ $S0 = concat $S0, $S99
+ $S1 = sb
+ is( $S0, $S1, "Push 1000 chars string works")
+
+ $I0 = sb
+ is( $I0, 2048, "... and capacity increased" )
+
+ $S99 = repeat "x", 12000
+ push sb, $S99
+
+ $S0 = concat $S0, $S99
+ $S1 = sb
+ is( $S0, $S1, "Push 10000 chars string works")
+
+ $I0 = sb
+ is( $I0, 16384, "... and capacity increased" )
+
+.end
+
+.sub 'test_push_pmc'
+ .local pmc sb
+ sb = new ["StringBuilder"]
+
+ box $P0, "foo"
+ push sb, $P0
+ $S0 = sb
+ is( $S0, "foo", "First string pushed")
+
+ box $P0, "bar"
+ push sb, $P0
+ $S1 = sb
+ is( $S1, "foobar", "Second string pushed")
+
+ is( $S0, "foo", "... without clobbering first string")
+
+ $I0 = sb
+ is( $I0, 128, "... and capacity still 128" )
+.end
+
+.sub 'test_push_string_unicode'
+ .local pmc sb
+ sb = new ["StringBuilder"]
+
+ push sb, "le"
+ push sb, unicode:"o "
+ push sb, iso-8859-1:"tötsch"
+
+ $S0 = sb
+ is( $S0, iso-8859-1:"leo tötsch", "Unicode strings appened")
+.end
+
+.sub 'test_i_concatenate'
+ .local pmc sb
+ sb = new ["StringBuilder"]
+
+ concat sb, "foo"
+
+ $P0 = new ["String"]
+ $P0 = "bar"
+ concat sb, $P0
+
+ sb .= "baz"
+
+ $S0 = sb
+ is( $S0, "foobarbaz", "StringBuilder handles concat properly")
+
+.end
+
+.sub 'test_set_string_native'
+ .local pmc sb
+ sb = new ["StringBuilder"]
+
+ $S99 = "foo"
+ sb = $S99
+
+ $S0 = sb
+ is( $S0, "foo", "Assignment works")
+
+ sb .= "bar"
+ $S0 = sb
+ is( $S0, "foobar", "... with appending string after")
+ is( $S99, "foo", "... without touching of original string")
+
+.end
+
+# Local Variables:
+# mode: pir
+# fill-column: 100
+# End:
+# vim: expandtab shiftwidth=4 ft=pir:
+
Modified: branches/ops_pct/t/src/embed.t
==============================================================================
--- branches/ops_pct/t/src/embed.t Sat May 8 01:36:41 2010 (r46398)
+++ branches/ops_pct/t/src/embed.t Sat May 8 02:08:40 2010 (r46399)
@@ -8,7 +8,7 @@
use Test::More;
use Parrot::Test;
-plan tests => 7;
+plan tests => 9;
=head1 NAME
@@ -99,6 +99,84 @@
The opcode 'copy' (copy<0>) was not found. Check the type and number of the arguments
OUTPUT
+c_output_is(linedirective(__LINE__) . <<'CODE', <<'OUTPUT', 'Parrot_compile_string populates the error string when given invalid language string');
+
+#include <stdio.h>
+#include <stdlib.h>
+#include "parrot/embed.h"
+#include "parrot/extend.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_new_string(interp, "Foo", 3, (const char*)NULL, 0);
+
+ func_pmc = Parrot_compile_string(interp, lang, "This doesn't matter", &err);
+ Parrot_printf(interp, "%Ss\n", err);
+ Parrot_destroy(interp);
+ return 0;
+}
+CODE
+Invalid interpreter type
+OUTPUT
+
+
+c_output_is(linedirective(__LINE__) . <<'CODE', <<'OUTPUT', 'Parrot_compile_string populates the error string when there is an IMCC syntax error', 'todo' => 'TT #1610 : does not properly catch IMCC errors');
+
+#include <stdio.h>
+#include <stdlib.h>
+#include "parrot/embed.h"
+#include "parrot/extend.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_new_string(interp, "PIR", 3, (const char*)NULL, 0);
+
+ func_pmc = Parrot_compile_string(interp, lang, "The sleeper must awake", &err);
+ Parrot_printf(interp,"Caught exception\n");
+ Parrot_printf(interp, "%Ss\n", err);
+ Parrot_destroy(interp);
+ return 0;
+}
+CODE
+Caught exception
+error:imcc:syntax error, unexpected IDENTIFIER ('The')
+OUTPUT
+
+
c_output_is(linedirective(__LINE__) . <<'CODE', <<'OUTPUT', "Hello world from main" );
#include <stdio.h>
Modified: branches/ops_pct/tools/dev/pbc_to_exe.pir
==============================================================================
--- branches/ops_pct/tools/dev/pbc_to_exe.pir Sat May 8 01:36:41 2010 (r46398)
+++ branches/ops_pct/tools/dev/pbc_to_exe.pir Sat May 8 02:08:40 2010 (r46399)
@@ -221,7 +221,7 @@
.local pmc codestring
.local int size
- codestring = new [ 'ResizableStringArray' ]
+ codestring = new [ 'StringBuilder' ]
push codestring, "const Parrot_UInt1 program_code[] = {"
size = 0
@@ -248,10 +248,6 @@
push codestring, "\n"
goto code_loop
code_done:
- # Join current strings to avoid storing too much
- $S0 = join '', codestring
- codestring = 0
- push codestring, $S0
goto read_loop
read_done:
@@ -268,7 +264,7 @@
}
END_OF_FUNCTION
- $S0 = join '', codestring
+ $S0 = codestring
.return ($S0)
err_infile:
@@ -317,7 +313,7 @@
.local pmc codestring
.local int size
- codestring = new ['ResizableStringArray']
+ codestring = new ['StringBuilder']
push codestring, "const char * program_code =\n"
push codestring, '"'
@@ -347,10 +343,6 @@
push codestring, '"'
goto code_loop
code_done:
- # Join current strings to avoid storing too much
- $S0 = join '', codestring
- codestring = 0
- push codestring, $S0
goto read_loop
read_done:
@@ -370,7 +362,7 @@
}
END_OF_FUNCTION
- $S0 = join '', codestring
+ $S0 = codestring
.return ($S0)
err_infile:
@@ -453,7 +445,7 @@
.local pmc codestring
- codestring = new [ 'ResizableStringArray' ]
+ codestring = new [ 'StringBuilder' ]
push codestring, "#include <windows.h>\n"
push codestring, rc_constant_defines
push codestring, "const unsigned int bytecode_size = "
@@ -505,7 +497,7 @@
die "RC command failed"
rc_ok:
- $S0 = join '', codestring
+ $S0 = codestring
.return ($S0)
err_h_open:
More information about the parrot-commits
mailing list