Move read_mem to dwarf_expr_context

Following the idea of merging the evaluators, the read_mem method can
be moved from dwarf_expr_executor and dwarf_evaluate_loc_desc classes
to their base class dwarf_expr_context.

gdb/ChangeLog:

	* dwarf2/expr.c (dwarf_expr_context::read_mem): Move from
	dwarf_evaluate_loc_desc.
	* dwarf2/frame.c (dwarf_expr_executor::read_mem): Remove
	method.
	* dwarf2/loc.c (dwarf_evaluate_loc_desc::read_mem): Move to
	dwarf_expr_context.
This commit is contained in:
Zoran Zaric 2020-09-15 11:37:19 +01:00
parent 73e6b86330
commit 3c7c57cdc0
4 changed files with 10 additions and 13 deletions

View file

@ -249,6 +249,15 @@ dwarf_expr_context::dwarf_call (cu_offset die_cu_off)
this->eval (block.data, block.size);
}
/* See expr.h. */
void
dwarf_expr_context::read_mem (gdb_byte *buf, CORE_ADDR addr,
size_t length)
{
read_memory (addr, buf, length);
}
/* Require that TYPE be an integral type; throw an exception if not. */
static void

View file

@ -192,7 +192,7 @@ struct dwarf_expr_context
CORE_ADDR obj_address = 0;
/* Read LENGTH bytes at ADDR into BUF. */
virtual void read_mem (gdb_byte *buf, CORE_ADDR addr, size_t length) = 0;
virtual void read_mem (gdb_byte *buf, CORE_ADDR addr, size_t length);
/* Push on DWARF stack an entry evaluated for DW_TAG_call_site's
parameter matching KIND and KIND_U at the caller of specified BATON.

View file

@ -232,11 +232,6 @@ public:
: dwarf_expr_context (per_objfile)
{}
void read_mem (gdb_byte *buf, CORE_ADDR addr, size_t len) override
{
read_memory (addr, buf, len);
}
void push_dwarf_reg_entry_value (enum call_site_parameter_kind kind,
union call_site_parameter_u kind_u,
int deref_size) override

View file

@ -728,13 +728,6 @@ public:
this->eval (data_src, size);
}
/* Read memory at ADDR (length LEN) into BUF. */
void read_mem (gdb_byte *buf, CORE_ADDR addr, size_t len) override
{
read_memory (addr, buf, len);
}
};
/* See dwarf2loc.h. */