summaryrefslogtreecommitdiff
path: root/exec-all.h
diff options
context:
space:
mode:
authorpbrook <pbrook@c046a42c-6fe2-441c-8c8c-71466251a162>2008-03-31 17:07:36 +0000
committerpbrook <pbrook@c046a42c-6fe2-441c-8c8c-71466251a162>2008-03-31 17:07:36 +0000
commita208e54a2f97494ccb5f7ba0b852cc1e308ab668 (patch)
treec40abd09789d1f23b4714c91780bc48f834bb5ef /exec-all.h
parent663715fbe2f63d651458179952f70769ab38f6f9 (diff)
TCG op size estimation fix.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@4154 c046a42c-6fe2-441c-8c8c-71466251a162
Diffstat (limited to 'exec-all.h')
-rw-r--r--exec-all.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/exec-all.h b/exec-all.h
index 62b819191..898cf687c 100644
--- a/exec-all.h
+++ b/exec-all.h
@@ -36,6 +36,12 @@ struct TranslationBlock;
#define OPC_BUF_SIZE 512
#define OPC_MAX_SIZE (OPC_BUF_SIZE - MAX_OP_PER_INSTR)
+/* Maximum size a TCG op can expand to. This is complicated because a
+ single op may require several host instructions and regirster reloads.
+ For now take a wild guess at 128 bytes, which should allow at least
+ a couple of fixup instructions per argument. */
+#define TCG_MAX_OP_SIZE 128
+
#define OPPARAM_BUF_SIZE (OPC_BUF_SIZE * MAX_OPC_PARAM)
extern target_ulong gen_opc_pc[OPC_BUF_SIZE];