diff options
author | Cyrille Bagard <nocbos@gmail.com> | 2014-12-04 22:59:30 (GMT) |
---|---|---|
committer | Cyrille Bagard <nocbos@gmail.com> | 2014-12-04 22:59:30 (GMT) |
commit | 12154652c576144405011b5bd267c15c9667f223 (patch) | |
tree | be552b2b7bc563a58892e8950afd920a45132a6e /src/arch/instruction-int.h | |
parent | 6803c5d5b86416d1748d4d37a5cc5cb44fe007b1 (diff) |
Provided a new way to build the full name of each instruction and cached it.
git-svn-id: svn://svn.gna.org/svn/chrysalide/trunk@435 abbe820e-26c8-41b2-8c08-b7b2b41f8b0a
Diffstat (limited to 'src/arch/instruction-int.h')
-rw-r--r-- | src/arch/instruction-int.h | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/src/arch/instruction-int.h b/src/arch/instruction-int.h index 958a5bd..f96753a 100644 --- a/src/arch/instruction-int.h +++ b/src/arch/instruction-int.h @@ -38,8 +38,8 @@ typedef void (* get_instruction_rw_regs_fc) (const GArchInstruction *, GArchRegi /* Ajoute à un tampon GLib le contenu de l'instance spécifiée. */ typedef GBufferLine * (* print_instruction_fc) (const GArchInstruction *, GCodeBuffer *, MemoryDataSize, const bin_t *, AsmSyntax); -/* Traduit une instruction en version humainement lisible. */ -typedef const char * (* get_instruction_keyword_fc) (const GArchInstruction *, AsmSyntax); +/* Reconstruit le cache complet d'une désignation d'instruction. */ +typedef void (* build_instruction_keyword_fc) (const GArchInstruction *, AsmSyntax); /* Informe sur une éventuelle référence à une autre instruction. */ typedef InstructionLinkType (* get_instruction_link_fc) (const GArchInstruction *, vmpa_t *); @@ -55,6 +55,9 @@ struct _GArchInstruction DL_LIST_ITEM(flow); /* Maillon de liste chaînée */ + const char *suffix; /* Complément au nom affiché */ + char *cached_keyword; /* Désignation complète */ + mrange_t range; /* Emplacement en mémoire */ /* ------- %< ----------- */ @@ -95,7 +98,7 @@ struct _GArchInstructionClass GObjectClass parent; /* A laisser en premier */ print_instruction_fc print; /* Imprime l'ensemble */ - get_instruction_keyword_fc get_key; /* Texte humain équivalent */ + build_instruction_keyword_fc build_key; /* Texte humain équivalent */ }; |