diff options
author | Cyrille Bagard <nocbos@gmail.com> | 2016-04-20 12:07:19 (GMT) |
---|---|---|
committer | Cyrille Bagard <nocbos@gmail.com> | 2016-04-20 12:07:19 (GMT) |
commit | 59f319d9a6961a7424c7b32f49aa7ac1045a1d4c (patch) | |
tree | e9d62c684dd8d8f5e141b9332994041bd2371f9a /src/arch/instruction-int.h | |
parent | 8962a4e61411c8362d5f4be63496977164b886a8 (diff) |
Protected all concurrent accesses to sources and destinations of instructions.
Diffstat (limited to 'src/arch/instruction-int.h')
-rw-r--r-- | src/arch/instruction-int.h | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/src/arch/instruction-int.h b/src/arch/instruction-int.h index eca2807..69cdc8a 100644 --- a/src/arch/instruction-int.h +++ b/src/arch/instruction-int.h @@ -80,10 +80,19 @@ struct _GArchInstruction GArchInstruction **from; /* Origines des références */ InstructionLinkType *from_types; /* Type des liens de dest. */ size_t from_count; /* Nombre de ces origines */ + GRWLock from_access; /* Verrou de protection */ +#ifndef NDEBUG + gint hold_from_access; /* Suivi des verrouillages */ +#endif + GArchInstruction **to; /* Eventuelles lignes visées */ InstructionLinkType *to_types; /* Type des liens de dest. */ link_extra_info *links_info; /* Informations complémentaires*/ size_t to_count; /* Nombre de ces destinations */ + GRWLock to_access; /* Verrou de protection */ +#ifndef NDEBUG + gint hold_to_access; /* Suivi des verrouillages */ +#endif get_instruction_rw_regs_fc get_rw_regs; /* Liste des registres liés */ //print_instruction_fc print; /* Imprime l'ensemble */ @@ -91,7 +100,7 @@ struct _GArchInstruction //is_instruction_return_fc is_return; /* Retour de fonction ou pas ? */ decomp_instr_fc decomp; /* Procédure de décompilation */ - bool is_return; /* Retour de fonction ou pas ? */ + bool is_return; /* Retour de fonction ou pas ? */ // FIXME : à virer }; |