[前][次][番号順一覧][スレッド一覧][生データ]

yarv-dev:243

From: maeda-yarv atusi.org
Date: Thu, 7 Oct 2004 00:29:54 +0900
Subject: [yarv-dev:243] Re: Stack Caching

ML: yarv-dev quickml.atdot.net
新メンバー: maeda@c...

shudo computer.org writes:

> 面白いページを見つけました。
> Stack Caching を試して、性能評価してます。

> このページ、どこのどなたが書いたのだか。

面白いですね。JITと、Ertlの技法(gccのラベルを用いたコードのコピー)の折
衷ですね。

 なお、機械語コードの断片部分は実行時に絶対に到達できないので、 最適化
 してコンパイルするとこの部分は削除されていまうので、 うまく動かなくなっ
 てしまいます。

int dummy; というグローバル変数と、
各 op_xxx の先頭に、

  static void *labels[] = {&&code_no, &&code_axdx, &&code_dxax,
			    &&code_ax, &&code_dx, &&code_end};

  if (dummy) {
    void *p = labels[dummy];
    goto *p;
  }

みたいなコードを入れてコンパイラをだましてやると、最適化しても削除され
なくなりますね。(このサンプルでは別に速くなりませんけど。)

				前田敦司

--
ML: yarv-dev quickml.atdot.net
使い方: http://www.atdot.net/~ko1/quickml

このMLを退会する方法:
- 本文が空のメールを <yarv-dev quickml.atdot.net> に送ってください
- 本文が空のメールを送れない場合は、
  本文に「退会」とだけ書いたメールを <yarv-dev quickml.atdot.net> に送ってください
  (署名やhotmailの広告などがついて空メールを送れない場合など)

<yarv-dev quickml.atdot.net> のメンバー:
ko1@a...
aamine@l...
babie7a0@y...
cv8t-hdk@a...
fukumori@m...
g-stuff@b...
gotoyuzo@n...
iga@r...
ikoma@m...
kawaji@h...
kou@c...
kumaryu@k...
maeda-yarv@a...
makoto.nakagawa@h...
masato@c...
matz@r...
nobsun@s...
nobu.nakada@n...
sakai@t...
sheepman@t...
shudo@c...
shugo@r...
usa@g...
yuya-ml@4...
zn@m...
nobu.nokada@s...
ron@m...
hira@v...
dan@d...
ml@a...
maeda@c...

[前][次][番号順一覧][スレッド一覧][生データ]

       242 2004-10-06 02:59 [shudo computer.org  ] Stack Caching                           
->     243 2004-10-07 00:29 ┗[maeda-yarv atusi.org]                                       
       245 2004-10-09 00:23  ┗[ko1 atdot.net       ]                                     
       252 2004-10-14 11:08   ┗[maeda-yarv atusi.org]