summaryrefslogtreecommitdiff
path: root/tcg/tcg.h
diff options
context:
space:
mode:
authorRichard Henderson <rth@twiddle.net>2017-06-20 12:24:57 -0700
committerRichard Henderson <richard.henderson@linaro.org>2017-10-24 21:44:12 +0200
commit1807f4c40098070008eb84b2032e25b7ac42569e (patch)
tree93df648c74a1d050282dcafb0550463d2a5c778e /tcg/tcg.h
parentc6c7d84df8889b9d6298466999b88a8a42e5f976 (diff)
downloadqemu-1807f4c40098070008eb84b2032e25b7ac42569e.tar.gz
tcg: Introduce temp_arg, export temp_idx
At the same time, drop the TCGContext argument and use tcg_ctx instead. Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org> Reviewed-by: Emilio G. Cota <cota@braap.org> Signed-off-by: Richard Henderson <rth@twiddle.net>
Diffstat (limited to 'tcg/tcg.h')
-rw-r--r--tcg/tcg.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/tcg/tcg.h b/tcg/tcg.h
index 5fcdec1fc5..828c1e70e5 100644
--- a/tcg/tcg.h
+++ b/tcg/tcg.h
@@ -729,6 +729,18 @@ struct TCGContext {
extern TCGContext tcg_ctx;
extern bool parallel_cpus;
+static inline size_t temp_idx(TCGTemp *ts)
+{
+ ptrdiff_t n = ts - tcg_ctx.temps;
+ tcg_debug_assert(n >= 0 && n < tcg_ctx.nb_temps);
+ return n;
+}
+
+static inline TCGArg temp_arg(TCGTemp *ts)
+{
+ return temp_idx(ts);
+}
+
static inline TCGTemp *arg_temp(TCGArg a)
{
return a == TCG_CALL_DUMMY_ARG ? NULL : &tcg_ctx.temps[a];