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

yarv-dev:452

From: shudo computer.org
Date: Sun, 6 Mar 2005 22:26:46 +0900
Subject: [yarv-dev:452] Re: Ruby.NET Compiler

淺川さん、笹田さん、皆様、首藤です。

> > > 継承していたとしても、一番下のクラスからアクセスできるすべてのメソッド
> > > を2分検索しますので、

> >  ふと、swwitch 命令でしないのは何故だろうと思いました。

> ILの switch はですね、0 からの連続した自然数でしか分岐できないのです。

CLR (ECMA 的には CLI ?) 仕様にあたって、確認してしまいました。
そうなんですね。

JVM だと、次の 2命令が用意されてます。
この lookupswitch のような命令があったなら、使えたかと思います。

  - lookupswitch
    値と飛び先のペアが並ぶ

  - tableswitch
    最小値から最大値までに対応する飛び先が並ぶ

ここにも JVM と CLR の違いが見えて、興味深いです。


笹田さんが、以前、こういった命令って有効なの? というメールを
書かれてたのを思い出しました:

  Subject: [jvm-talk] switchtableのような命令の意義
  From: "K.Sasada" <ko1 namikilab.tuat.ac.jp>
  Date: Tue, 23 Sep 2003 12:56:01 +0900
  http://groups.yahoo.co.jp/group/jvm-talk/message/75


CLR と JVM とを比較して違いを論じている論文、というのもありました:

  Subject: [jvm-talk] JVM and .NET CLR
  From: shudo computer.org
  Date: Thu, 28 Mar 2002 18:46:53 +0900 (JST)
  http://groups.yahoo.co.jp/group/jvm-talk/message/53

JVM はオペランドの型ごとに異なる加算命令 (iadd, ladd, fadd, dadd) を
用意してるのですが、
CLR ではオペランドが整数だろうと浮動小数点数だろうと
同一の add 命令 (0x58) になります。


CLR のデザイナは JVM を調べ尽くしたはずで、
それがなぜ、こういうデザインになったのか、大変興味があります。
(CLR の方が、インタプリタでの性能において不利かもしれず。)


Kazuyuki Shudo/首藤一幸   私をたばねないで あらせいとうの花のように
  shudo computer.org   http://www.shudo.net/

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

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

       427 2005-02-23 15:12 [ko1 atdot.net       ] Ruby.NET Compiler                       
       428 2005-02-24 00:41 ┗[ko1 atdot.net       ]                                       
       429 2005-02-26 16:35  ┗[ml asakawa.net      ]                                     
       430 2005-02-27 16:13   ┗[ml asakawa.net      ]                                   
       431 2005-02-28 23:43    ┗[ml asakawa.net      ]                                 
       436 2005-03-05 19:36     ┣[ko1 atdot.net       ]                               
       438 2005-03-05 21:18     ┃┣[ml asakawa.net      ]                             
       440 2005-03-06 01:03     ┃┃┣[ko1 atdot.net       ]                           
       444 2005-03-06 14:23     ┃┃┃┗[ml asakawa.net      ]                         
       445 2005-03-06 16:45     ┃┃┃ ┣[ko1 atdot.net       ]                       
->     452 2005-03-06 22:26     ┃┃┃ ┗[shudo computer.org  ]                       
       454 2005-03-06 23:28     ┃┃┃  ┗[ko1 atdot.net       ]                     
       447 2005-03-06 17:33     ┃┃┗[zn mbf.nifty.com    ]                           
       439 2005-03-06 00:27     ┃┗[matz ruby-lang.org  ]                             
       441 2005-03-06 01:11     ┃ ┗[ko1 atdot.net       ]                           
       453 2005-03-06 22:41     ┗[shudo computer.org  ]