NAME

experimental.ops - Experimental Opcodes

DESCRIPTION

This file contains experimental opcodes.

These opcodes should be considered implicitly deprecated - that is, they may be removed in any release.

If you rely on any of these opcodes, please open a Trac ticket at https://trac.parrot.org/.

More Experimental Ops

trap()
Break into debugger. Implementation notes:
 - x86/gcc ... works with gdb
 - ppc/gcc ... works with gdb, to proceed: gdb> p $pc = $pc + 4
 - TODO
For other architectures, this is a noop.
set_label(invar PMC, inconst LABEL)
Sets the opcode_t* label value for the given PMC. This is basically only useful for PMCs such as Sub, Continuation, ExceptionHandler and derivatives
get_label(out INT, invar PMC)
Gets the opcode_t* label value from the given PMC. This is basically only useful for PMCs such as Sub, Continuation, ExceptionHandler and derivatives
fetch(out PMC, in PMC, in PMC, in PMC)
Fetches a value from $2, keyed by $3 into $1. If the resulting PMC is PMCNULL, uses the type in $4 to create and return a new PMC.
fetch(out PMC, in PMC, in INT, in PMC)
fetch(out PMC, in PMC, in STR, in PMC)
vivify(out PMC, in PMC, in PMC, in PMC)
Fetches a value from $2, keyed by $3 into $1. If the resulting PMC is PMCNULL, uses the type in $4 to create and return a new PMC.
vivify(out PMC, in PMC, in INT, in PMC)
vivify(out PMC, in PMC, in STR, in PMC)

COPYRIGHT

Copyright (C) 2001-2009, Parrot Foundation.

LICENSE

This program is free software. It is subject to the same license as the Parrot interp itself.