aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Henderson <rth@twiddle.net>2014-03-14 15:30:10 -0700
committerAndreas Färber <afaerber@suse.de>2014-03-19 22:11:19 +0100
commit7e4fb26d757b460de5b80b4220bcd926f7175cb2 (patch)
tree68650c66cf9bbe173f9c982f55f76d9699485cd6
parentf71e769d0754dc9a593a9e17ec6693a261b29f82 (diff)
cpu: Move tcg_exit_req to the end of CPUState
Reverse an increase in the size of generated code. Signed-off-by: Richard Henderson <rth@twiddle.net> Signed-off-by: Andreas Färber <afaerber@suse.de>
-rw-r--r--include/qom/cpu.h7
1 files changed, 6 insertions, 1 deletions
diff --git a/include/qom/cpu.h b/include/qom/cpu.h
index 06ee2636c3..f99885a137 100644
--- a/include/qom/cpu.h
+++ b/include/qom/cpu.h
@@ -227,7 +227,6 @@ struct CPUState {
bool stop;
bool stopped;
volatile sig_atomic_t exit_request;
- volatile sig_atomic_t tcg_exit_req;
uint32_t interrupt_request;
int singlestep_enabled;
int64_t icount_extra;
@@ -272,6 +271,12 @@ struct CPUState {
} icount_decr;
uint32_t can_do_io;
int32_t exception_index; /* used by m68k TCG */
+
+ /* Note that this is accessed at the start of every TB via a negative
+ offset from AREG0. Leave this field at the end so as to make the
+ (absolute value) offset as small as possible. This reduces code
+ size, especially for hosts without large memory offsets. */
+ volatile sig_atomic_t tcg_exit_req;
};
QTAILQ_HEAD(CPUTailQ, CPUState);