The first change does two things: (1) improve bsd-user so that it doesn't continually reload guest_base into a temp register and (2) extract the bulk of the guest_base logic to a routine that is run once at startup.
The second change adds segmentation support to 32-bit linux. There, if we're using a guest base, we can save 3 bytes per memory op by using a segment override. In addition, if we're using a reserved_va, we can set up the segment such that guest memory references are constrained by the segment. Comments? r~ Richard Henderson (2): tcg/i386: Reserve register for guest_base if a segment isn't available tcg/i386: Use segment for 32-bit guest base on linux tcg/i386/tcg-target.inc.c | 181 +++++++++++++++++++++++++--------------------- 1 file changed, 100 insertions(+), 81 deletions(-) -- 2.5.5