K.Sasada's Home Page

こめんとのついか

こめんとこめんと!

message

please set comment :).

_22(Tue)

(まつもとさんの日記への突込みを見て)「次は例外処理なんていかがですか?」などと聞かれてみたいものだと思った。


今更ながらわからないんだけど、メソッドキャッシュの origin と mid0 って何のためにあるんだっけ。


あ、origin は思い出した。super とかその辺のために必要、でいいんだっけかな。

mid0 は alias とかその辺だったっけ。


なんか noex の居場所がなくて困っている。って、noex って何の略だったっけ。node EXposure か。この辺も作り変えられれば変えたいものだなあ。


YARV では mid0 は必要ない。逆に mid の情報が失われる。

def t1
  p caller(0)[0]
end

alias t2 t1
t1 # (1)
t2 # (2)
#=> 
# "t.rb:3:in `t1'"
# "t.rb:3:in `t1'"

alias されていても t1 は t1 なので、t1 と表示される。これが mid0。

mid は (2) で呼んだときは t2 になっている。つまり、t2 というシグネチャで呼び出した、ということ。frame の callee id。エラーメッセージを出すためにしか使っていない? alias と super が絡んだときに必要だった気がするが、シチュエーションが思い浮かばない。


話者:笹田耕一
   東京農工大学大学院工学教育部電子情報工学専攻・並木研究室
   日本 Ruby の会

話者はプログラミング言語 Ruby 用仮想マシンである YARV: Yet Another
RubyVM (*1) を開発している。現在の Ruby 処理系は抽象構文木をそのまま辿る
インタプリタであるため速度的な問題がある。YARV はこの問題を解決するため
に開発している命令列実行型のインタプリタであり、命令列の設計、コンパイラ
および評価器の開発を行っている。評価器では各種最適化を利用して、Ruby プ
ログラムを高速に実行するための工夫を行っている。YARV について、先月アメ
リカ・サンディエゴで行われた Fifth International Ruby Conference
(RubyConf 2005) で発表 (*2) し、OOPSLA'05 でポスター発表 (*3) を行った。
今回はその経験を含め YARV の紹介を行う。なお、本プロジェクトは IPA 未踏
ソフトウェア(2004 年度未踏ユース (*4)、2005 年度未踏 (*5))による支援を
受けている。

*1: YARV: Yet Another Ruby VM
    http://www.atdot.net/yarv/
*2: RubyConf 2005 - Agenda
    http://www.rubycentral.org/conference/agenda_detail.html#yarv
*3: OOPSLA'05-YARV: Yet Another RubyVM
    http://www.oopsla.org/2005/ShowEvent.do?id=533
*4: IPA:2004年度「未踏ユース」開発成果:98-02笹田
    http://www.ipa.go.jp/jinzai/esp/2004youth/mdata/98-02.html
*5: IPA:2005年度上期「未踏ソフト」採択概要:10-17笹田
    http://www.ipa.go.jp/jinzai/esp/2005mito1/gaiyou/10-17.html

の秋葉原で話すやつですが,セキュリティの関係でお名前を頂ければ大丈夫だそうです.聞きたい方はささだまでメールください.でも,デイタイムです.

だそうですが,詳しい場所は知らなかったりする.


コンピュータシステム・シンポジウムに行こうか迷ってたら,参加費割引期間が終わっていた.しょぼーん.

しかし,ウェブページ(PukiWiki)に「コンピュータシステム・シンポジウムシステム」ってあるんだが,最後の「システム」って何だ.懇親会だけならタダなのか.しかし,それだけっていうのも.

俺,CSS には縁が無いなあ.というか,OS研に縁が無い.一度もOS研に行った事がない(SWoPP では行ってるけど).機会があれば行きたいんだが.

_まつもと(Tue Nov 22 16:27:23 JST 2005)
class Foo
  def boo
  end
end

class Bar<Foo
  def boo
    super
  end
  alias quux boo
end

Bar.new.quux

で、Foo#booが呼ばれるために必要なんじゃなかったかと。

_ささだ(Tue Nov 22 17:38:59 JST 2005)

 callee (quux) は要らないような気がしますが。

_まつもと(Tue Nov 22 20:22:58 JST 2005)

 callee? frameの? あれはデバッグ出力用だったかな

_ささだ(Wed Nov 23 00:15:41 JST 2005)

 なるほど,そういうことだったのか.

_斎藤ただし(Wed Nov 23 15:40:28 JST 2005)

 秋葉原のお話、丁寧にありがとうございます。残念ながら、別の用事ができたので出席は厳しくなりました。ただ自分は読書会の存在を知らなかったので、もし機会があればそちらに参加させていただきます。


好きにコメントを編集してください。ただし、あまり他の人のコメントを書き換えることは感心しません。



back

tton 記述が使えます。YukiWikiな記述してりゃ問題ありません。

「行頭に#code」 と、「行頭に#end」 で挟むと、その間の行は pre で囲まれます。プログラムのソースを書くときに使ってください。

例:

#code

(なんかプログラム書く)

#end

リンクは

[[なまえ|http://www.example.org]]

とか

[[http://www.example.org]]

で貼れます。

$Date: 2003/04/28 10:27:51 $