From: Tom Tromey <tom@tromey.com>
To: gdb-patches@sourceware.org
Subject: [PATCH v2 6/8] Make aop_map 'static'
Date: Tue, 20 Jun 2023 11:36:42 -0600 [thread overview]
Message-ID: <20230619-ax-new-v2-6-47638d750dd7@tromey.com> (raw)
In-Reply-To: <20230619-ax-new-v2-0-47638d750dd7@tromey.com>
This changes aop_map to be 'static'.
---
gdb/ax-general.c | 31 ++++++++++++++++++++++++++++++-
gdb/ax.h | 30 ------------------------------
2 files changed, 30 insertions(+), 31 deletions(-)
diff --git a/gdb/ax-general.c b/gdb/ax-general.c
index b28c8e70e0c..a8451d71b2e 100644
--- a/gdb/ax-general.c
+++ b/gdb/ax-general.c
@@ -294,7 +294,36 @@ ax_string (struct agent_expr *x, const char *str, int slen)
/* Functions for disassembling agent expressions, and otherwise
debugging the expression compiler. */
-struct aop_map aop_map[] =
+/* An entry in the opcode map. */
+struct aop_map
+ {
+
+ /* The name of the opcode. Null means that this entry is not a
+ valid opcode --- a hole in the opcode space. */
+ const char *name;
+
+ /* All opcodes take no operands from the bytecode stream, or take
+ unsigned integers of various sizes. If this is a positive number
+ n, then the opcode is followed by an n-byte operand, which should
+ be printed as an unsigned integer. If this is zero, then the
+ opcode takes no operands from the bytecode stream.
+
+ If we get more complicated opcodes in the future, don't add other
+ magic values of this; that's a crock. Add an `enum encoding'
+ field to this, or something like that. */
+ int op_size;
+
+ /* The size of the data operated upon, in bits, for bytecodes that
+ care about that (ref and const). Zero for all others. */
+ int data_size;
+
+ /* Number of stack elements consumed, and number produced. */
+ int consumed, produced;
+ };
+
+/* Map of the bytecodes, indexed by bytecode number. */
+
+static struct aop_map aop_map[] =
{
{0, 0, 0, 0, 0}
#define DEFOP(NAME, SIZE, DATA_SIZE, CONSUMED, PRODUCED, VALUE) \
diff --git a/gdb/ax.h b/gdb/ax.h
index 0e82ed9e313..1fdecb2f9e5 100644
--- a/gdb/ax.h
+++ b/gdb/ax.h
@@ -221,36 +221,6 @@ extern void ax_string (struct agent_expr *x, const char *str, int slen);
/* Disassemble the expression EXPR, writing to F. */
extern void ax_print (struct ui_file *f, struct agent_expr * EXPR);
-/* An entry in the opcode map. */
-struct aop_map
- {
-
- /* The name of the opcode. Null means that this entry is not a
- valid opcode --- a hole in the opcode space. */
- const char *name;
-
- /* All opcodes take no operands from the bytecode stream, or take
- unsigned integers of various sizes. If this is a positive number
- n, then the opcode is followed by an n-byte operand, which should
- be printed as an unsigned integer. If this is zero, then the
- opcode takes no operands from the bytecode stream.
-
- If we get more complicated opcodes in the future, don't add other
- magic values of this; that's a crock. Add an `enum encoding'
- field to this, or something like that. */
- int op_size;
-
- /* The size of the data operated upon, in bits, for bytecodes that
- care about that (ref and const). Zero for all others. */
- int data_size;
-
- /* Number of stack elements consumed, and number produced. */
- int consumed, produced;
- };
-
-/* Map of the bytecodes, indexed by bytecode number. */
-extern struct aop_map aop_map[];
-
/* Given an agent expression AX, analyze and update its requirements. */
extern void ax_reqs (struct agent_expr *ax);
--
2.39.2
next prev parent reply other threads:[~2023-06-20 17:36 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-06-20 17:36 [PATCH v2 0/8] C++-ify and simplify agent expressions Tom Tromey
2023-06-20 17:36 ` [PATCH v2 1/8] Remove mem2hex Tom Tromey
2023-06-20 17:36 ` [PATCH v2 2/8] Use gdb::byte_vector in agent_expr Tom Tromey
2023-06-24 1:40 ` Simon Marchi
2023-06-30 3:16 ` Tom Tromey
2023-06-20 17:36 ` [PATCH v2 3/8] Use std::vector<bool> for agent_expr::reg_mask Tom Tromey
2023-06-21 16:16 ` Simon Marchi
2023-06-23 2:37 ` Tom Tromey
2023-06-20 17:36 ` [PATCH v2 4/8] Simplify agent_expr constructor Tom Tromey
2023-06-20 17:36 ` [PATCH v2 5/8] Use bool for agent_expr::tracing Tom Tromey
2023-06-20 17:36 ` Tom Tromey [this message]
2023-06-20 17:36 ` [PATCH v2 7/8] Remove aop_last Tom Tromey
2023-06-20 17:36 ` [PATCH v2 8/8] Use ARRAY_SIZE in ax-general.c Tom Tromey
2023-06-20 17:45 ` [PATCH v2 0/8] C++-ify and simplify agent expressions John Baldwin
2023-06-20 18:01 ` Tom Tromey
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20230619-ax-new-v2-6-47638d750dd7@tromey.com \
--to=tom@tromey.com \
--cc=gdb-patches@sourceware.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).