aboutsummaryrefslogtreecommitdiff
path: root/tcg/tcg.h
diff options
context:
space:
mode:
authorRichard Henderson <rth@twiddle.net>2017-07-30 13:13:21 -0700
committerRichard Henderson <rth@twiddle.net>2017-09-07 11:57:35 -0700
commit57a269469dbf70013dab3a176e1735636010a772 (patch)
tree1ff2db5b5d660b3ef87e7fd106aba052c222bfb9 /tcg/tcg.h
parent659ef5cbb893872d25e9d95191cc23b16546c8a1 (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.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/tcg/tcg.h b/tcg/tcg.h
index b0e00e744e..ac94133870 100644
--- a/tcg/tcg.h
+++ b/tcg/tcg.h
@@ -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 */