From 9b7924c7c5d97f83f589f4e185cfabe971f72bc4 Mon Sep 17 00:00:00 2001 From: Cyrille Bagard Date: Tue, 19 Jun 2018 20:08:49 +0200 Subject: Avoided to cache ARMv7 instruction keyword when unneeded. --- plugins/arm/v7/instruction.c | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/plugins/arm/v7/instruction.c b/plugins/arm/v7/instruction.c index 9eb43ac..ee75efd 100644 --- a/plugins/arm/v7/instruction.c +++ b/plugins/arm/v7/instruction.c @@ -299,18 +299,22 @@ static const char *g_armv7_instruction_get_keyword(const GArmV7Instruction *inst parent = G_ARM_INSTRUCTION(instr); - if (parent->cached_keyword == NULL) - { - assert(instr->sid < AOP7_ENC_COUNT); + assert(instr->sid < AOP7_ENC_COUNT); - parent->cached_keyword = strdup(_armv7_keywords[instr->sid]); + if (parent->suffix == NULL) + result = _armv7_keywords[instr->sid]; - if (parent->suffix != NULL) + else + { + if (parent->cached_keyword == NULL) + { + parent->cached_keyword = strdup(_armv7_keywords[instr->sid]); parent->cached_keyword = stradd(parent->cached_keyword, parent->suffix); + } - } + result = parent->cached_keyword; - result = parent->cached_keyword; + } return result; -- cgit v0.11.2-87-g4458