diff options
author | Tom Tromey <tromey@redhat.com> | 2011-02-18 20:55:45 +0000 |
---|---|---|
committer | Tom Tromey <tromey@redhat.com> | 2011-02-18 20:55:45 +0000 |
commit | c7f96d2b95d916a17453df2df3bff1b382420bc8 (patch) | |
tree | 3d92959b148d78f2ca28eb68ce00316d56c8f98a /gdb/ax.h | |
parent | 66694b75a4d54ce3228aab59ac09585f576dcc16 (diff) | |
download | gdb-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/ax.h')
-rw-r--r-- | gdb/ax.h | 6 |
1 files changed, 6 insertions, 0 deletions
@@ -204,6 +204,8 @@ enum agent_op aop_setv = 0x2d, aop_tracev = 0x2e, aop_trace16 = 0x30, + aop_pick = 0x32, + aop_rot = 0x33, aop_last }; @@ -221,6 +223,10 @@ extern struct cleanup *make_cleanup_free_agent_expr (struct agent_expr *); /* Append a simple operator OP to EXPR. */ extern void ax_simple (struct agent_expr *EXPR, enum agent_op OP); +/* Append a pick operator to EXPR. DEPTH is the stack item to pick, + with 0 being top of stack. */ +extern void ax_pick (struct agent_expr *EXPR, int DEPTH); + /* Append the floating-point prefix, for the next bytecode. */ #define ax_float(EXPR) (ax_simple ((EXPR), aop_float)) |