yarv-dev:523
From: SASADA Koichi <ko1 atdot.net>
Date: Wed, 29 Jun 2005 14:45:46 +0900
Subject: [yarv-dev:523] Re: Optimal code generation on Stack Caching
ささだです。 SASADA Koichi wrote: > -fno-reorder-blocks を付けたら、ばら撒かれないようになりました。失礼し > ました。前に試したときには駄目だった記憶があるんですが、何かの勘違いだっ > たようで。 これがわかったので、じゃぁ各命令の前にわかりやすいように印をつけよう。 -> インラインアセンブラで埋め込んでしまおう -> でも、nop を埋め込むのもパフォーマンスに影響出そうだよなぁ -> ラベルの前(各命令はラベルがついていて、threaded code はそのラベルに ジャンプします)に置けば、実行されないぞ -> dead code elimination で消されてしまった -> そういえばコメントは asm 文の中身がそのまま残ったはずだ というわけで、コメントをアセンブラ出力に混ぜるためだけに asm 文を使っ て、各命令の前に埋め込みました。もしかしたら常套手段なのかもしれません が、個人的には結構感動しました。 アセンブラ出力はこちら。 http://www.atdot.net/yarv/vm.asm.s 余計なラベルとかを外したのはこちら。 http://www.atdot.net/yarv/vm.asm.each_insn 意外と各命令は小さいなあ。 こういう出力を見ていると、すぐに時間が過ぎてしまって(しかも、あんまり 作業ははかどらない)いかんですね。 -- // SASADA Koichi at atdot dot net // -- ML: yarv-dev quickml.atdot.net 使い方: http://www.atdot.net/~ko1/quickml
512 2005-06-28 16:03 [ko1 atdot.net ] Optimal code generation on Stack Caching 513 2005-06-28 17:08 ┗[maeda-yarv atusi.org] 516 2005-06-28 20:16 ┗[ko1 atdot.net ] 518 2005-06-29 10:45 ┗[shudo computer.org ] 519 2005-06-29 10:51 ┣[shudo computer.org ] 522 2005-06-29 14:17 ┃┗[ko1 atdot.net ] 521 2005-06-29 14:16 ┗[ko1 atdot.net ] -> 523 2005-06-29 14:45 ┗[ko1 atdot.net ]