From 1e0e3ecd67156ea8a7ecb9e4fb709caa6004bd52 Mon Sep 17 00:00:00 2001 From: Tom Tromey Date: Mon, 19 Jun 2023 14:44:43 -0600 Subject: Make aop_map 'static' This changes aop_map to be 'static'. Reviewed-by: John Baldwin --- gdb/ax-general.c | 31 ++++++++++++++++++++++++++++++- gdb/ax.h | 30 ------------------------------ 2 files changed, 30 insertions(+), 31 deletions(-) (limited to 'gdb') diff --git a/gdb/ax-general.c b/gdb/ax-general.c index b28c8e7..a8451d7 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 0e82ed9..1fdecb2 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); -- cgit v1.1