aboutsummaryrefslogtreecommitdiff
path: root/gdb/doc/agentexpr.texi
diff options
context:
space:
mode:
authorTom Tromey <tromey@redhat.com>2011-02-18 20:55:45 +0000
committerTom Tromey <tromey@redhat.com>2011-02-18 20:55:45 +0000
commitc7f96d2b95d916a17453df2df3bff1b382420bc8 (patch)
tree3d92959b148d78f2ca28eb68ce00316d56c8f98a /gdb/doc/agentexpr.texi
parent66694b75a4d54ce3228aab59ac09585f576dcc16 (diff)
downloadgdb-c7f96d2b95d916a17453df2df3bff1b382420bc8.zip
gdb-c7f96d2b95d916a17453df2df3bff1b382420bc8.tar.gz
gdb-c7f96d2b95d916a17453df2df3bff1b382420bc8.tar.bz2
gdb
* ax-general.c (aop_map): Add pick and rot. * dwarf2loc.c (compile_dwarf_to_ax) <DW_OP_over>: Reimplement. <DW_OP_rot>: Implement. * ax.h (enum agent_op) <aop_pick, aop_rot>: New constants. (ax_pick): Declare. * ax-general.c (ax_pick): New function. doc * agentexpr.texi (Bytecode Descriptions): Document pick and rot. gdbserver * tracepoint.c (enum gdb_agent_op) <gdb_agent_op_pick, gdb_agent_op_rot>: New constants. (gdb_agent_op_names): Add pick and roll. (eval_agent_expr) <gdb_agent_op_pick, gdb_agent_op_rot>: New cases.
Diffstat (limited to 'gdb/doc/agentexpr.texi')
-rw-r--r--gdb/doc/agentexpr.texi10
1 files changed, 10 insertions, 0 deletions
diff --git a/gdb/doc/agentexpr.texi b/gdb/doc/agentexpr.texi
index 7b3fe5a..f2d51b7 100644
--- a/gdb/doc/agentexpr.texi
+++ b/gdb/doc/agentexpr.texi
@@ -391,6 +391,16 @@ Exchange the top two items on the stack.
@item @code{pop} (0x29): @var{a} =>
Discard the top value on the stack.
+@item @code{pick} (0x32) @var{n}: @var{a} @dots{} @var{b} => @var{a} @dots{} @var{b} @var{a}
+Duplicate an item from the stack and push it on the top of the stack.
+@var{n}, a single byte, indicates the stack item to copy. If @var{n}
+is zero, this is the same as @code{dup}; if @var{n} is one, it copies
+the item under the top item, etc. If @var{n} exceeds the number of
+items on the stack, terminate with an error.
+
+@item @code{rot} (0x33): @var{a} @var{b} @var{c} => @var{c} @var{b} @var{a}
+Rotate the top three items on the stack.
+
@item @code{if_goto} (0x20) @var{offset}: @var{a} @result{}
Pop an integer off the stack; if it is non-zero, branch to the given
offset in the bytecode string. Otherwise, continue to the next