summaryrefslogtreecommitdiff
path: root/src/arch/link.h
diff options
context:
space:
mode:
authorCyrille Bagard <nocbos@gmail.com>2015-04-25 21:35:19 (GMT)
committerCyrille Bagard <nocbos@gmail.com>2015-04-25 21:35:19 (GMT)
commitee0ff01247738e847ae3faa44dcb5168d7b758ba (patch)
treee945f95a84a97237debf0b16ee11ed95d6862afb /src/arch/link.h
parent2a1dd967d3b4e06f504431f9d3d613992095b2c3 (diff)
Registered suitable linkage hooks and defined right links between instructions.
git-svn-id: svn://svn.gna.org/svn/chrysalide/trunk@519 abbe820e-26c8-41b2-8c08-b7b2b41f8b0a
Diffstat (limited to 'src/arch/link.h')
-rw-r--r--src/arch/link.h14
1 files changed, 13 insertions, 1 deletions
diff --git a/src/arch/link.h b/src/arch/link.h
index 1923e0b..319b3a0 100644
--- a/src/arch/link.h
+++ b/src/arch/link.h
@@ -35,7 +35,19 @@
void handle_jump_as_link(GArchInstruction *, GArchProcessor *, GProcContext *, GBinFormat *);
/* Etablit un lien d'appel selon une instruction donnée. */
-void handle_branch_if_true_as_link(GArchInstruction *, GArchProcessor *, GProcContext *, GBinFormat *);
+void handle_branch_as_link(GArchInstruction *, GArchProcessor *, GProcContext *, GBinFormat *, size_t);
+
+
+static inline void handle_branch_if_true_as_link(GArchInstruction *ins, GArchProcessor *proc, GProcContext *ctx, GBinFormat *fmt)
+{
+ handle_branch_as_link(ins, proc, ctx, fmt, 0);
+}
+
+static inline void handle_comp_and_branch_if_true_as_link(GArchInstruction *ins, GArchProcessor *proc, GProcContext *ctx, GBinFormat *fmt)
+{
+ handle_branch_as_link(ins, proc, ctx, fmt, 1);
+}
+
/* Etablit un lien d'appel selon une instruction donnée. */
void handle_call_as_link(GArchInstruction *, GArchProcessor *, GProcContext *, GBinFormat *);