ruby-trunk-changes r33493 - r33501

今日は主に ENABLE_VM_OBJSPACE というマクロにまつわるリファクタリングがありました。

ngoto:r33493 2011-10-20 21:30:13 +0900

配列を定数でない要素を含む { ... } で初期化するコードが Solaris 上の Fujitsu C Compiler でコンパイルできなかったため1つずつ代入する書き方に改めています。 [ruby-dev:44632] [Bug #5464]

ngoto:r33494 2011-10-20 21:35:23 +0900

r33498 の ChangeLog のエントリに ML と Redmine のチケット番号が抜けていたので追記。

emboss:r33495 2011-10-20 22:48:21 +0900

OpenSSL::PKCS5 の rdoc を加筆しています。

usa:r33496 2011-10-20 22:55:31 +0900

Windows 版の実装に Socket を特別扱いするためにハッシュテーブルに作った SOCKET ハンドルを登録するようになっているのですが、このハッシュテーブル(st_table)を起動時に生成するために VM 毎の ObjectSpace を持つ管理方法ができないため ENABLE_VM_OBJSPACE というマクロが 0 にセットされているというコメントがあったので、このテーブルを実際に利用するまで初期化を遅延するようにリファクタリングしています。
しかしこれだけでは Windows で ENABLE_VM_OBJSPACE を 1 にするとだめだったそうです。 [ruby-dev:44648] [Bug #5467]

emboss:r33497 2011-10-21 02:22:09 +0900

OpenSSL::Netscape::SPKI の rdoc 追加とテストテースの追加です。

svn:r33498 2011-10-21 02:22:14 +0900

version.h の日付更新。

ngoto:r33499 2011-10-21 12:26:11 +0900

atomic.h で atomic な操作用マクロの定義の分岐に __SUNPRO_C というマクロをチェックしていたのですが、Solaris では他のコンパイラもあるのでチェック方法を __sun か __sun__ が定義されている時に変更しています。

nobu:r33500 2011-10-21 22:01:37 +0900

gc.c の環境変数から GC のパラメータを取り込む関数 rb_gc_set_params() が ENABLE_VM_OBJSPACE が1の時だけ有効になっていたのですが、特にこのマクロの影響を受けないので常に有効になるようにしています。 [ruby-dev:44648] [Bug #5467]

nobu:r33501 2011-10-21 22:02:19 +0900

さらに GC 用パラメータを既に存在していた gc_stress と一緒に ruby_gc_params_t という構造体にまとめて持つようにリファクタリングしています。