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.

Change-Id: Ied28c2c0fc808fb5e41f9816df8ac731fa4ac2fa
This commit is contained in:
Zoran Zaric
2020-12-07 19:00:08 +00:00
committed by Simon Marchi
parent de00629fea
commit abcb8a73df
4 changed files with 10 additions and 13 deletions

View File

@@ -263,6 +263,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

@@ -196,7 +196,7 @@ struct dwarf_expr_context
CORE_ADDR obj_address;
/* 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

@@ -231,11 +231,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

@@ -686,13 +686,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. */