ruby-trunk-changes r64039 - r64060

今日はいくつかの標準添付ライブラリの default gem 化と、標準添付ライブラリ webrick の .htpasswd ファイルの bcrypt 対応がありました。

hsbt: r64039 2018-07-25 20:34:35 +0900

bundled gem の net-telnet と power_assert を最新版に更新しています。

hsbt: r64040 2018-07-25 20:47:04 +0900

tool/sync_default_gems.rb で logger も共通化したメソッド sync_lib で対応して、gemspec ファイルのありかを lib/ 直下と lib/xxx/ の下にあるバージョンと両方対応できるようにしています。

hsbt: r64041 2018-07-25 20:51:43 +0900

同じく tool/sync_default_gems.rb で ostruct、scanf、webrick、fileutils なども sync_lib メソッドで対応するようにしています。

hsbt: r64042 2018-07-25 20:53:57 +0900

標準添付ライブラリ forwardable も .gemspec ファイルを追加して default gem にしています。

hsbt: r64043 2018-07-25 20:59:21 +0900

r64041 と同様に prime、tracer、ipaddr、cmath なども共通処理のメソッド sync_lib で対応するようにリファクタリングしています。

hsbt: r64044 2018-07-25 21:15:45 +0900

標準添付ライブラリ thwait も .gemspec ファイルを追加して default gem にしています。

svn: r64045 2018-07-25 21:15:46 +0900

r64044 の新規追加ファイルの svn property 設定。

hsbt: r64046 2018-07-25 21:26:41 +0900

標準添付ライブラリ e2mmap も default gem 化しています。

svn: r64047 2018-07-25 21:26:42 +0900

r64046 の新規追加ファイルの svn property 設定。

hsbt: r64048 2018-07-25 21:28:17 +0900

標準添付ライブラリ mutex_m (ってなんだっけ……)も default gem 化しています。

hsbt: r64049 2018-07-25 21:31:58 +0900

doc/maintainers.rdoc と doc/standard_library.rdoc に今日の default gem 化した標準添付ライブラリのぶんの変更(セクションの移動)をしています。

k0kubun: r64050 2018-07-25 21:33:38 +0900

r64037 で MJIT worker の malloc() や realloc() のエラー処理を追加していましたが、realloc() で NULL が返された時に元のメモリ領域の解放が行なわれていなくてメモリリークしていたのを修正しています。

k0kubun: r64051 2018-07-25 22:54:00 +0900

mjit.c の compile_c_to_so() という関数内で preprocessor の分岐をしていたのを関数定義自体を mswin とそれ以外で分けるようにしています。

k0kubun: r64052 2018-07-25 23:36:08 +0900

r64051 で分離した compile_c_to_so() の mswin 以外版を compile_c_to_o() と compile_o_to_so() に分解してオブジェクトファイルを作ってから .so にコンパイルするようにしています。将来的に複数の .o をまとめて .so にコンパイルするようにするための伏線みたいです。大量の .so をリンクするとパフォーマンスかメモリかに影響する懸念があるからかな。

k0kubun: r64053 2018-07-25 23:55:43 +0900

insns.def の VM 命令の property の名前 handles_frame を handles_sp に変更しています。sp の変更をするかどうかを指定してるのでより具体的な実装に近い名前にしたみたいですね。

tenderlove: r64054 2018-07-26 03:00:09 +0900

RubyVM::AST のメソッドの rdoc 用コメントを追加しています。

svn: r64055 2018-07-26 03:00:12 +0900

version.h の日付更新。

tenderlove: r64056 2018-07-26 03:04:16 +0900

標準添付ライブラリ logger の rdoc 用コメントで File.open の flags について誤った説明があったのを修正しています。

tenderlove: r64057 2018-07-26 03:06:29 +0900

Module#define_method の rdoc 用コメントで 2.5 以降 define_method が public になったのにドキュメントが追随していなかったので説明とサンプルコードを修正しています。

tenderlove: r64058 2018-07-26 03:09:02 +0900

r42862 で標準添付ライブラリ thread を拡張ライブラリ化した時に Queue についての rdoc 用コメントにあるサンプルがそのまま実行するとすぐ終了してしまうようになっていたので Thread#join の呼び出しを追加しています。

normal: r64059 2018-07-26 07:32:54 +0900

r64007 で追加された do_select() の memory leak のテストが MJIT が有効な環境下だとメモリを使いすぎて失敗するそうなので skip するようにしています。

normal: r64060 2018-07-26 12:21:52 +0900

標準添付ライブラリ webrickWEBrick::HTTPAuth::Htpasswd.new のキーワード引数に password_hash を追加して、.htpasswd ファイルの暗号化方式を指定できるようにして bcrypt 方式をサポートするようにしています。 bcrypt.gem に依存しているみたいですがいいのかな。まあ勝手に fallback してしまうのもそれはそれでよくないのでしょうがないか。 [ruby-core:88111] [Feature #14940]