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 ]