[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-commits] [qemu/qemu] 2bb865: tcg: Tidy generated code for tcg_outN
From: |
GitHub |
Subject: |
[Qemu-commits] [qemu/qemu] 2bb865: tcg: Tidy generated code for tcg_outN |
Date: |
Tue, 27 Aug 2013 15:00:06 -0700 |
Branch: refs/heads/master
Home: https://github.com/qemu/qemu
Commit: 2bb8656dadcaa521a9699ab2a2632b68da36c998
https://github.com/qemu/qemu/commit/2bb8656dadcaa521a9699ab2a2632b68da36c998
Author: Richard Henderson <address@hidden>
Date: 2013-08-26 (Mon, 26 Aug 2013)
Changed paths:
M tcg/tcg.c
Log Message:
-----------
tcg: Tidy generated code for tcg_outN
Aliasing was forcing s->code_ptr to be re-read after the store.
Keep the pointer in a local variable to help the compiler.
Signed-off-by: Richard Henderson <address@hidden>
Commit: ac26eb69a311396668809eadbf7ff4e623447d4c
https://github.com/qemu/qemu/commit/ac26eb69a311396668809eadbf7ff4e623447d4c
Author: Richard Henderson <address@hidden>
Date: 2013-08-26 (Mon, 26 Aug 2013)
Changed paths:
M tcg/i386/tcg-target.c
M tcg/tcg.c
Log Message:
-----------
tcg-i386: Add and use tcg_out64
No point in splitting the write into 32-bit pieces.
Reviewed-by: Aurelien Jarno <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>
Commit: 8023ccda079624221e618efeb537b41c70407469
https://github.com/qemu/qemu/commit/8023ccda079624221e618efeb537b41c70407469
Author: Richard Henderson <address@hidden>
Date: 2013-08-26 (Mon, 26 Aug 2013)
Changed paths:
M tcg/i386/tcg-target.c
Log Message:
-----------
tcg-i386: Try pc-relative lea for constant formation
Use a 7 byte lea before the ultimate 10 byte movq.
Signed-off-by: Richard Henderson <address@hidden>
Commit: c6f29ff096d9e956df94db20fe49275c35f601fb
https://github.com/qemu/qemu/commit/c6f29ff096d9e956df94db20fe49275c35f601fb
Author: Richard Henderson <address@hidden>
Date: 2013-08-26 (Mon, 26 Aug 2013)
Changed paths:
M tcg/i386/tcg-target.c
Log Message:
-----------
tcg-i386: Tidy qemu_ld/st slow path
Use existing stack space for arguments; don't push/pop.
Use less ifdefs and more C ifs.
Signed-off-by: Richard Henderson <address@hidden>
Commit: e25c3887e6ac50e7a0c42a2f597b088a27d5bb5d
https://github.com/qemu/qemu/commit/e25c3887e6ac50e7a0c42a2f597b088a27d5bb5d
Author: Richard Henderson <address@hidden>
Date: 2013-08-26 (Mon, 26 Aug 2013)
Changed paths:
M include/exec/softmmu_defs.h
M include/exec/softmmu_template.h
Log Message:
-----------
tcg: Add mmu helpers that take a return address argument
Allow the code that tcg generates to be less obtuse, passing in
the return address directly instead of computing it in the helper.
Maintain the old entrance point unchanged as an alternate entry point.
Delete the helper_st*_cmmu prototypes; the implementations did not exist.
Signed-off-by: Richard Henderson <address@hidden>
Commit: aac1fb0576e5bea72681e91c38caffc17741eb80
https://github.com/qemu/qemu/commit/aac1fb0576e5bea72681e91c38caffc17741eb80
Author: Richard Henderson <address@hidden>
Date: 2013-08-26 (Mon, 26 Aug 2013)
Changed paths:
M include/exec/softmmu_template.h
Log Message:
-----------
tcg: Tidy softmmu_template.h
Avoid a loop in the tlb_fill path; the fill will either succeed or
generate an exception.
Inline the slow_ld/st function; it was a complete copy of the main
helper except for the actual cross-page unaligned code, and the
compiler was inlining it anyway.
Add unlikely markers optimizing for the most common case of simple
tlb miss.
Make sure the compiler can optimize away the unaligned paths for a
1 byte access.
Reviewed-by: Aurelien Jarno <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>
Commit: 401c227b0a1134245ec61c6c5a9997cfc963c8e4
https://github.com/qemu/qemu/commit/401c227b0a1134245ec61c6c5a9997cfc963c8e4
Author: Richard Henderson <address@hidden>
Date: 2013-08-26 (Mon, 26 Aug 2013)
Changed paths:
M include/exec/exec-all.h
M tcg/i386/tcg-target.c
Log Message:
-----------
tcg-i386: Use new return-argument ld/st helpers
Discontinue the jump-around-jump-to-jump scheme, trading it for a single
immediate move instruction. The two extra jumps always consume 7 bytes,
whereas the immediate move is either 5 or 7 bytes depending on where the
code_gen_buffer gets located.
Signed-off-by: Richard Henderson <address@hidden>
Compare: https://github.com/qemu/qemu/compare/f7ad538e1ea1...401c227b0a11
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Qemu-commits] [qemu/qemu] 2bb865: tcg: Tidy generated code for tcg_outN,
GitHub <=