summaryrefslogtreecommitdiff
path: root/src/arch/register-int.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/arch/register-int.h')
-rw-r--r--src/arch/register-int.h20
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 */