disas/nanomips: Delete NMD class field

The m_requested_instruction_categories field always has the same value,
ALL_ATTRIBUTES. The only use of that field is within the if statement.
When replaced with a specific value, the if statement is always false,
so it has been removed.

Now, when the only use of the m_requested_instruction_categories field
is removed, we can delete the field declaration and initialization in
the NMD class. Also, we're changing the way of the construction of the
NMD object in the nanomips_dis function.

Signed-off-by: Milica Lazarevic <milica.lazarevic@syrmia.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20220912122635.74032-4-milica.lazarevic@syrmia.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
This commit is contained in:
Milica Lazarevic 2022-09-12 14:26:14 +02:00 committed by Philippe Mathieu-Daudé
parent bfffba15b2
commit 0c2a3b43a1
2 changed files with 2 additions and 15 deletions

View file

@ -51,7 +51,7 @@ int nanomips_dis(char *buf,
uint16 bits[3] = {one, two, three};
TABLE_ENTRY_TYPE type;
NMD d(address, ALL_ATTRIBUTES);
NMD d(address);
int size = d.Disassemble(bits, disasm, type);
strcpy(buf, disasm.c_str());
@ -812,17 +812,6 @@ int NMD::Disassemble(const uint16 * data, std::string & dis,
(table[i].type == call_instruction) ||
(table[i].type == branch_instruction) ||
(table[i].type == return_instruction)) {
if ((table[i].attributes != 0) &&
(m_requested_instruction_categories &
table[i].attributes) == 0) {
/*
* failed due to instruction having
* an ASE attribute and the requested version
* not having that attribute
*/
dis = "ASE attribute mismatch";
return -5;
}
disassembly_function dis_fn = table[i].disassembly;
if (dis_fn == 0) {
dis = "disassembler failure - bad table entry";

View file

@ -65,9 +65,8 @@ class NMD
{
public:
NMD(img_address pc, TABLE_ATTRIBUTE_TYPE requested_instruction_categories)
NMD(img_address pc)
: m_pc(pc)
, m_requested_instruction_categories(requested_instruction_categories)
{
}
@ -77,7 +76,6 @@ public:
private:
img_address m_pc;
TABLE_ATTRIBUTE_TYPE m_requested_instruction_categories;
typedef std::string(NMD:: *disassembly_function)(uint64 instruction);
typedef bool(NMD:: *conditional_function)(uint64 instruction);