All of lore.kernel.org
 help / color / mirror / Atom feed
From: 陳韋任 <chenwj@iis.sinica.edu.tw>
To: Xin Tong <xerox.time.tech@gmail.com>
Cc: "Lei Li" <lilei@linux.vnet.ibm.com>,
	陳韋任 <chenwj@iis.sinica.edu.tw>,
	qemu-devel <qemu-devel@nongnu.org>
Subject: Re: [Qemu-devel] TB chaining
Date: Fri, 23 Sep 2011 10:14:11 +0800	[thread overview]
Message-ID: <20110923021411.GA2359@cs.nctu.edu.tw> (raw)
In-Reply-To: <CALKntY0pYQwCcCeYaxXFy8Bq9_YSjc_W4pwaTpTf7RE-dkaiag@mail.gmail.com>

> if direct chaining is used, am I right to think that jmp_next and jmp_first
> will not be used ?

  You have to know that when we say "TB", it might means different
things according to the context.

  QEMU use struct TranslationBlock to record some information about
TB in the code cache. Take direct block chaining for example, when
I say we direct link tb1 to tb2, i.e., tb1 -> tb2, that actually
means two things. First, we patch the branch target of tb1 (in the
code cache) so that tb1 can jump to tb2 (in the code cache) and
executed. Meanwhile, we need to update tb1 (struct TranslationBlock)
and tb2 (struct TranslationBlock) to reflect the fact that tb1 (in the
code cache) is linked to tb2 (in the code cache). jmp_next and jmp_first
are fields of struct TranslationBlock, we use them when we need to
unchian TBs (in the code cache).

Regards,
chenwj

-- 
Wei-Ren Chen (陳韋任)
Computer Systems Lab, Institute of Information Science,
Academia Sinica, Taiwan (R.O.C.)
Tel:886-2-2788-3799 #1667

  reply	other threads:[~2011-09-23  2:14 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-09-21 23:05 [Qemu-devel] TB chaining Xin Tong
2011-09-22  1:37 ` Lei Li
2011-09-22  1:58   ` 陳韋任
2011-09-22  2:27     ` Lei Li
2011-09-22  2:36       ` 陳韋任
2011-09-22 12:41         ` Xin Tong
2011-09-23  2:14           ` 陳韋任 [this message]
     [not found]             ` <CALKntY2XeOc1LUE0NGXy_CKUer9+gxQykYC5hDzJnskx+OfdCQ@mail.gmail.com>
2011-09-24  2:50               ` 陳韋任
2011-09-24 10:36                 ` Xin Tong
2011-09-24 11:16                   ` 陳韋任
2011-11-25  1:54                     ` Xin Tong
2011-11-25  2:52                       ` 陳韋任
2011-09-22  2:15 ` 陳韋任

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=20110923021411.GA2359@cs.nctu.edu.tw \
    --to=chenwj@iis.sinica.edu.tw \
    --cc=lilei@linux.vnet.ibm.com \
    --cc=qemu-devel@nongnu.org \
    --cc=xerox.time.tech@gmail.com \
    /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.