All of lore.kernel.org
 help / color / mirror / Atom feed
From: Yeongkyoon Lee <yeongkyoon.lee@samsung.com>
To: Richard Henderson <rth@twiddle.net>
Cc: blauwirbel@gmail.com, qemu-devel@nongnu.org, aurelien@aurel32.net
Subject: Re: [Qemu-devel] [PATCH v6 3/3] tcg: Optimize qemu_ld/st by generating slow paths at the end of a block
Date: Thu, 18 Oct 2012 11:58:22 +0900	[thread overview]
Message-ID: <507F704E.90709@samsung.com> (raw)
In-Reply-To: <507F42CD.6000209@twiddle.net>

On 2012년 10월 18일 08:44, Richard Henderson wrote:
> On 2012-10-16 17:23, Yeongkyoon Lee wrote:
>> +    /* Code generation of qemu_ld/st's slow path calling MMU helper
>> +
>> +       PRE_PROC ...
>> +       call MMU helper
>> +       jmp POST_PROC (2b) : short forward jump <- GETRA()
>> +       jmp next_code (5b) : dummy long backward jump which is never executed
>> +       POST_PROC ... : do post-processing <- GETRA() + 7
>> +       jmp next_code : jump to the code corresponding to next IR of qemu_ld/st
>> +    */
> Is this jump over jump really any better than passing next_code
> as another function argument?
>
> In 32-bit mode
> 	push $next_code
> In 64-bit mode
> 	leaq next_code(%rip),%r8
>
>
> r~
>

Only one advantage is no fragmentation of MMU helpers, that is, we will 
still have the same helper prototypes.
In my opinion, the performance degradation of using jmp instead of push 
or something, is negligible because it is executed on slow path.

      reply	other threads:[~2012-10-18  2:58 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-10-16  7:23 [Qemu-devel] [PATCH v6 0/3] tcg: enhance code generation quality for qemu_ld/st IRs Yeongkyoon Lee
2012-10-16  7:23 ` [Qemu-devel] [PATCH v6 1/3] configure: Add CONFIG_QEMU_LDST_OPTIMIZATION for TCG qemu_ld/st optimization Yeongkyoon Lee
2012-10-16  7:23 ` [Qemu-devel] [PATCH v6 2/3] tcg: Add extended GETPC mechanism for MMU helpers with ldst optimization Yeongkyoon Lee
2012-10-16  7:23 ` [Qemu-devel] [PATCH v6 3/3] tcg: Optimize qemu_ld/st by generating slow paths at the end of a block Yeongkyoon Lee
2012-10-17 23:44   ` Richard Henderson
2012-10-18  2:58     ` Yeongkyoon Lee [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=507F704E.90709@samsung.com \
    --to=yeongkyoon.lee@samsung.com \
    --cc=aurelien@aurel32.net \
    --cc=blauwirbel@gmail.com \
    --cc=qemu-devel@nongnu.org \
    --cc=rth@twiddle.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.