ものがたり(旧)

atsushieno.hatenablog.com に続く

Monoの近況でも書いてみましょうか。

  • Debugger: mdb用に別のランタイムを埋め込んでいた(と言うべきなのかな?)のが、monoベースで動作するようになりました。なので、ランタイムを差し替えて動かしてみたりできます*1。Martinはこれまでgmcsとmdbを1人で書くっていうとんでもない仕事をしていたのだけど、デバッガに専念できるようになった効果が見えてきたというところでしょうか。
  • MonoDevelop: Glade3インテグレーションがチェックインされています。まだまだちゃんと動かすのは無理だけど、そのうち落ち着くでしょう。MDは以前からは考えられないくらい安定しています。いま外部からのcontributorが一番多いのもMDかも。MDにmdbが組み込まれる日も遠くなさそう。
  • precise garbage collector: 何かそのうち出てきそうなことをPaoloが言っています。期待大。ただしこれはMono 1.2ではデフォルトにはなりません。
  • JIT: Tree Moverがチェックイン出来る状態に近づいているみたい。TreeMoverというのはMassiが説明しているのだけど、どうやらinlineとcopyprop/conspropを組み合わせた「後の」コードに対して命令列をdeadceなどで最適化できるようになるようです。あと、Zoltanが別ブランチでmini-linear-ilという、miniからIRツリーを追放するためのコードを書いているのだけど、それはここにある通りの理由でやっているものです。
  • ilasm/monodis: Ankitがすごい勢いで直していて、mscorlib.dllがラウンドトリップできるようになりそう。
  • mcs/gmcsまわりは特に目に見える変化は無いのだけど、バグの原因になっていたPartial TypeまわりのリファクタリングにHarinathが取りかかっています。gmcsとmcsの一本化を見越した作業にもなっているみたい(一本化自体は1.2以降です)。
  • ASP.NET 2.0はSystem.Configurationまわりの作業が中心のようです。何かSystem.Web.dllはますますSystem.Orgy化しているようで。
  • Windows Formsはバグ潰しフェーズで、Reflectorとか、いろいろアプリを動かしているみたい。SharpVectorGraphicsには大量のテスト材料が転がっていると思うんだけど、Graphics.BeginContainer()が出来ていなくてSVGが全然開けないんだよねぇ。

*1:と言ってもランタイム自体がmdbに対応していないといけないので、現在以降のバージョンのみの話ですが