OLD | NEW |
1 /* GDB-specific functions for operating on agent expressions. | 1 /* GDB-specific functions for operating on agent expressions. |
2 | 2 |
3 Copyright (C) 1998-2001, 2003, 2007-2012 Free Software Foundation, | 3 Copyright (C) 1998-2001, 2003, 2007-2012 Free Software Foundation, |
4 Inc. | 4 Inc. |
5 | 5 |
6 This file is part of GDB. | 6 This file is part of GDB. |
7 | 7 |
8 This program is free software; you can redistribute it and/or modify | 8 This program is free software; you can redistribute it and/or modify |
9 it under the terms of the GNU General Public License as published by | 9 it under the terms of the GNU General Public License as published by |
10 the Free Software Foundation; either version 3 of the License, or | 10 the Free Software Foundation; either version 3 of the License, or |
(...skipping 23 matching lines...) Expand all Loading... |
34 #include "gdb_string.h" | 34 #include "gdb_string.h" |
35 #include "block.h" | 35 #include "block.h" |
36 #include "regcache.h" | 36 #include "regcache.h" |
37 #include "user-regs.h" | 37 #include "user-regs.h" |
38 #include "language.h" | 38 #include "language.h" |
39 #include "dictionary.h" | 39 #include "dictionary.h" |
40 #include "breakpoint.h" | 40 #include "breakpoint.h" |
41 #include "tracepoint.h" | 41 #include "tracepoint.h" |
42 #include "cp-support.h" | 42 #include "cp-support.h" |
43 #include "arch-utils.h" | 43 #include "arch-utils.h" |
| 44 #include "cli/cli-utils.h" |
| 45 #include "linespec.h" |
44 | 46 |
45 #include "valprint.h" | 47 #include "valprint.h" |
46 #include "c-lang.h" | 48 #include "c-lang.h" |
47 | 49 |
| 50 #include "format.h" |
| 51 |
48 /* To make sense of this file, you should read doc/agentexpr.texi. | 52 /* To make sense of this file, you should read doc/agentexpr.texi. |
49 Then look at the types and enums in ax-gdb.h. For the code itself, | 53 Then look at the types and enums in ax-gdb.h. For the code itself, |
50 look at gen_expr, towards the bottom; that's the main function that | 54 look at gen_expr, towards the bottom; that's the main function that |
51 looks at the GDB expressions and calls everything else to generate | 55 looks at the GDB expressions and calls everything else to generate |
52 code. | 56 code. |
53 | 57 |
54 I'm beginning to wonder whether it wouldn't be nicer to internally | 58 I'm beginning to wonder whether it wouldn't be nicer to internally |
55 generate trees, with types, and then spit out the bytecode in | 59 generate trees, with types, and then spit out the bytecode in |
56 linear form afterwards; we could generate fewer `swap', `ext', and | 60 linear form afterwards; we could generate fewer `swap', `ext', and |
57 `zero_ext' bytecodes that way; it would make good constant folding | 61 `zero_ext' bytecodes that way; it would make good constant folding |
(...skipping 27 matching lines...) Expand all Loading... |
85 | 89 |
86 | 90 |
87 static void gen_frame_args_address (struct gdbarch *, struct agent_expr *); | 91 static void gen_frame_args_address (struct gdbarch *, struct agent_expr *); |
88 static void gen_frame_locals_address (struct gdbarch *, struct agent_expr *); | 92 static void gen_frame_locals_address (struct gdbarch *, struct agent_expr *); |
89 static void gen_offset (struct agent_expr *ax, int offset); | 93 static void gen_offset (struct agent_expr *ax, int offset); |
90 static void gen_sym_offset (struct agent_expr *, struct symbol *); | 94 static void gen_sym_offset (struct agent_expr *, struct symbol *); |
91 static void gen_var_ref (struct gdbarch *, struct agent_expr *ax, | 95 static void gen_var_ref (struct gdbarch *, struct agent_expr *ax, |
92 struct axs_value *value, struct symbol *var); | 96 struct axs_value *value, struct symbol *var); |
93 | 97 |
94 | 98 |
error: old chunk mismatch |
None
OLD | NEW |