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