diff options
author | Richard Henderson <rth@twiddle.net> | 2017-07-30 13:13:21 -0700 |
---|---|---|
committer | Richard Henderson <rth@twiddle.net> | 2017-09-07 11:57:35 -0700 |
commit | 57a269469dbf70013dab3a176e1735636010a772 (patch) | |
tree | 1ff2db5b5d660b3ef87e7fd106aba052c222bfb9 /tcg/tcg.h | |
parent | 659ef5cbb893872d25e9d95191cc23b16546c8a1 (diff) |
tcg: Infrastructure for managing constant pools
A new shared header tcg-pool.inc.c adds new_pool_label,
for registering a tcg_target_ulong to be emitted after
the generated code, plus relocation data to install a
pointer to the data.
A new pointer is added to the TCGContext, so that we
dump the constant pool as data, not code.
Signed-off-by: Richard Henderson <rth@twiddle.net>
Diffstat (limited to 'tcg/tcg.h')
-rw-r--r-- | tcg/tcg.h | 4 |
1 files changed, 4 insertions, 0 deletions
@@ -702,6 +702,7 @@ struct TCGContext { void *code_gen_buffer; size_t code_gen_buffer_size; void *code_gen_ptr; + void *data_gen_ptr; /* Threshold to flush the translated code buffer. */ void *code_gen_highwater; @@ -716,6 +717,9 @@ struct TCGContext { #ifdef TCG_TARGET_NEED_LDST_LABELS struct TCGLabelQemuLdst *ldst_labels; #endif +#ifdef TCG_TARGET_NEED_POOL_LABELS + struct TCGLabelPoolData *pool_labels; +#endif TCGTempSet free_temps[TCG_TYPE_COUNT * 2]; TCGTemp temps[TCG_MAX_TEMPS]; /* globals first, temps after */ |