ruby-trunk-changes r34319 - r34327

今日は Mac OS X で $0 への代入でプロセス名を変更する機能を有効にする修正などがありました。

naruse:r34319 2012-01-17 07:38:05 +0900

r34310 で unpack_entries() にて pack された状態のハッシュを展開する時にキーのハッシュ値を計算していなかったのをするようにしています。また add_packed_direct() も同様。

svn:r34320 2012-01-17 07:38:09 +0900

version.h の日付更新。

nobu:r34321 2012-01-17 10:54:50 +0900

しかしここで再度 do_hash() を呼ばないように変更されています。 st_table が packed になるのは numhash(数値がキーのハッシュテーブル)の時だけで、その時のハッシュ値計算はキーをそのまま使うのでハッシュ値計算をする必要がなかったということです。ただ do_hash() マクロでのキャストが間違っていて結果的に long と int の幅が異なる時には do_hash() を呼ぶかどうかでハッシュ値が変化してしまっていたので、そちらを修正しています。

nobu:r34322 2012-01-17 11:40:42 +0900

add_packed_direct() のほうも r34319 で packed の時に do_hash() を呼ぶようにしたのを revert しています。

nobu:r34323 2012-01-17 12:32:50 +0900

gc.c で aligned_malloc/aligned_free のためにプラットフォーム毎に条件コンパイルしているところで defined を使うようにしています。

nobu:r34324 2012-01-17 17:10:00 +0900

configure.in にて setproctitle(3) のチェックが AC_REPLACE_FUNCS() でチェックしているところと AC_CHECK_FUNCS() でチェックしているところで重複していたので後者から削除しています。

nobu:r34326 2012-01-17 17:13:50 +0900

missing/setproctitle.c で定義されている comp_init_setproctitle() というプロセス名を設定する関数を ruby_init_setproctitle() に改名しています。

nobu:r34327 2012-01-17 17:18:46 +0900

Darwin(Mac OS X)の時に SPT_TYPE を SPT_REUSEARGV に設定して missing/setproctitle.c で argv の領域を書き換える実装を利用するようにしています。これまでは Mac OS X では $0 への代入が効いてなかったようです。