summaryrefslogtreecommitdiff
path: root/src/analysis/block-int.h
diff options
context:
space:
mode:
authorCyrille Bagard <nocbos@gmail.com>2019-01-13 23:44:21 (GMT)
committerCyrille Bagard <nocbos@gmail.com>2019-01-13 23:44:21 (GMT)
commit2a6d92e2d55c0a7826137b2cc2e3148bb298abb9 (patch)
tree55714d85528a4cbe15e802b8a7bc2cdbf861c744 /src/analysis/block-int.h
parent2ed3c9274c8dafb660bc25743a1aac7c72c12965 (diff)
Provided uncached code block links.
Diffstat (limited to 'src/analysis/block-int.h')
-rw-r--r--src/analysis/block-int.h12
1 files changed, 6 insertions, 6 deletions
diff --git a/src/analysis/block-int.h b/src/analysis/block-int.h
index b9b90f0..ca38703 100644
--- a/src/analysis/block-int.h
+++ b/src/analysis/block-int.h
@@ -38,8 +38,8 @@
/* Détermine si un bloc de code débute à une adresse donnée. */
typedef bool (* block_is_starting_fc) (const GCodeBlock *, const vmpa2t *);
-/* Etablit les liens entre un bloc de code et ses voisins. */
-typedef void (* block_resolve_links_fc) (GCodeBlock *, const GBlockList *);
+/* Fournit les détails des origines d'un bloc de code donné. */
+typedef block_link_t * (* block_get_links_fc) (const GCodeBlock *, const GBlockList *, size_t *);
/* Fournit la représentation graphique d'un bloc de code. */
typedef GBufferView * (* block_build_view_fc) (const GCodeBlock *, segcnt_list *);
@@ -50,14 +50,13 @@ struct _GCodeBlock
{
GObject parent; /* A laisser en premier */
+ GBlockList *list; /* Lien vers l'ensemble */
+
bitfield_t *domination; /* Blocs dominés de l'ensemble */
size_t index; /* Indice dans une liste */
size_t rank; /* Rang dans l'exécution */
- flat_array_t *from; /* Origines des références */
- flat_array_t *to; /* Instructions visées */
-
GBufferView *view; /* Représentation construite */
};
@@ -68,7 +67,8 @@ struct _GCodeBlockClass
GObjectClass parent; /* A laisser en premier */
block_is_starting_fc is_starting; /* Analyse d'adresse initiale */
- block_resolve_links_fc link; /* Etablissement des liens */
+ block_get_links_fc get_src; /* Obtention des origines */
+ block_get_links_fc get_dest; /* Obtention des destinations */
block_build_view_fc build; /* Construction d'une vue */
};