qemu-commits
[Top][All Lists]
Advanced

[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

reply via email to

[Prev in Thread] Current Thread [Next in Thread]