* 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.
This commit is contained in:
Tom Tromey
2011-02-18 20:55:45 +00:00
parent 66694b75a4
commit c7f96d2b95
8 changed files with 76 additions and 23 deletions

View File

@@ -1,3 +1,7 @@
2011-02-18 Tom Tromey <tromey@redhat.com>
* agentexpr.texi (Bytecode Descriptions): Document pick and rot.
2011-02-14 Michael Snyder <msnyder@vmware.com>
* gdb.texinfo (threads): Document argument for "info threads" cmd.

View File

@@ -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