diff options
Diffstat (limited to 'src/arch/register-int.h')
-rw-r--r-- | src/arch/register-int.h | 20 |
1 files changed, 18 insertions, 2 deletions
diff --git a/src/arch/register-int.h b/src/arch/register-int.h index 4d8e364..0934f95 100644 --- a/src/arch/register-int.h +++ b/src/arch/register-int.h @@ -36,11 +36,23 @@ /* ---------------------------- PUR REGISTRE DU MATERIEL ---------------------------- */ +/* Fournit le gestionnaire de partages attribué à un type. */ +typedef GShareManager * (* get_register_manager_fc) (void); + +/* Initialise un nouvel objet partagé avec des informations. */ +typedef bool (* apply_register_template_fc) (GArchRegister *, const GArchRegister *); + +/* Réalise une copie minimale d'un contenu partagé. */ +typedef void (* define_register_template_fc) (const GArchRegister *, GArchRegister *); + +/* Libère la mémoire utilisée par un patron d'instance. */ +typedef void (* free_register_template_fc) (const GArchRegister *, GArchOperand *); + /* Produit une empreinte à partir d'un registre. */ typedef guint (* reg_hash_fc) (const GArchRegister *); /* Compare un registre avec un autre. */ -typedef int (* reg_compare_fc) (const GArchRegister * const *, const GArchRegister * const *); +typedef int (* reg_compare_fc) (const GArchRegister *, const GArchRegister *); /* Traduit un registre en version humainement lisible. */ typedef void (* reg_print_fc) (const GArchRegister *, GBufferLine *, AsmSyntax); @@ -68,7 +80,11 @@ struct _GArchRegisterClass { GObjectClass parent; /* A laisser en premier */ - init_shared_fc init; /* Mise en place via interface */ + get_register_manager_fc get_manager; /* Accès au gestionnaire */ + + apply_register_template_fc apply_template; /* Intialisation d'instance */ + define_register_template_fc define_template; /* Copie de détails */ + free_register_template_fc free_template; /* Libération d'un patron */ reg_hash_fc hash; /* Production d'empreinte */ reg_compare_fc compare; /* Comparaison de registres */ |