summaryrefslogtreecommitdiff
path: root/tcg/tcg.h
diff options
context:
space:
mode:
authorRichard Henderson <rth@twiddle.net>2013-09-18 14:12:53 -0700
committerRichard Henderson <rth@twiddle.net>2016-02-09 10:19:32 +1100
commitb3a62939561e07bc34493444fa926b6137cba4e8 (patch)
tree102ae797802cb815eba8865980b4be3e9bffc145 /tcg/tcg.h
parente1ccc05444676b92c63708096e36582be27fbee1 (diff)
downloadqemu-b3a62939561e07bc34493444fa926b6137cba4e8.tar.gz
tcg: Change ts->mem_reg to ts->mem_base
Chain the temporaries together via pointers intstead of indices. The mem_reg value is now mem_base->reg. This will be important later. This does require that the frame pointer have a global temporary allocated for it. This is simple bar the existing reserved_regs check. Reviewed-by: Aurelien Jarno <aurelien@aurel32.net> Signed-off-by: Richard Henderson <rth@twiddle.net>
Diffstat (limited to 'tcg/tcg.h')
-rw-r--r--tcg/tcg.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/tcg/tcg.h b/tcg/tcg.h
index e528b07ed7..8b7efed44d 100644
--- a/tcg/tcg.h
+++ b/tcg/tcg.h
@@ -449,7 +449,6 @@ typedef enum TCGTempVal {
typedef struct TCGTemp {
unsigned int reg:8;
- unsigned int mem_reg:8;
TCGTempVal val_type:8;
TCGType base_type:8;
TCGType type:8;
@@ -462,6 +461,7 @@ typedef struct TCGTemp {
unsigned int temp_allocated:1; /* never used for code gen */
tcg_target_long val;
+ struct TCGTemp *mem_base;
intptr_t mem_offset;
const char *name;
} TCGTemp;
@@ -515,7 +515,7 @@ struct TCGContext {
intptr_t current_frame_offset;
intptr_t frame_start;
intptr_t frame_end;
- int frame_reg;
+ TCGTemp *frame_temp;
tcg_insn_unit *code_ptr;