2015-07-01から1ヶ月間の記事一覧

ruby-trunk-changes r51451 - r51454

今日は require の処理のちょっとした最適化と TravisCI での設定の追加だけでした。 nobu: r51451 2015-07-31 21:34:54 +0900 rb_require_internal() で rb_load_internal() を呼んでいましたが、ロードするファイル内で例外が発生した時に rb_require_inte…

ruby-trunk-changes r51435 - r51450

今日は定数に depreceted の指定をして参照に警告を出させる Module#depracate_const というメソッドの追加などがありました。 normal: r51435 2015-07-30 04:54:12 +0900 dynamic symbol や Fixnum を Hash のキーとして使った時の Hash#[ ] の benchmark …

ruby-trunk-changes r51414 - r51434

今日は open に :flags オプションを追加する機能追加や、flonum や dynamic symbol の hash メソッドの計算の修正/変更などがありました。 normal: r51414 2015-07-29 05:02:38 +0900 rubygems の Gem::RemoteFetcher のテストで毎回 2048bit の DH 鍵を生…

ruby-trunk-changes r51409 - r51413

今日は拡張ライブラリ openssl のエラーメッセージ改善や Symbol の Hash のキーとして使う時の高速化、struct RClass の非公開化などがありました。 tenderlove: r51409 2015-07-28 03:29:17 +0900 拡張ライブラリ openssl の OpenSSL::SSL::SSLSocket#post…

ruby-trunk-changes r51393 - r51408

今日は主にビルドプロセスの修正がありました。 nobu: r51393 2015-07-27 10:55:58 +0900 win32/Makefile.sub の clean-ext ターゲットで先に ext に移動してから for /R を利用するようにしたりメッセージの内容を common.mk にそろえるなどの変更。 svn: r…

ruby-trunk-changes r51375 - r51392

今日は拡張ライブラリ openssl の一部の実装の ruby 化や SIGPIPE のデフォルトのシグナルハンドラの設定の変更などがありました。 tenderlove: r51375 2015-07-26 03:44:54 +0900 拡張ライブラリ openssl の OpenSSL::SSL::SSLContext の initialize メソッ…

ruby-trunk-changes r51365 - r51374

今日は Random の Linux 版の実装でブロックしないようにする変更などがありました。 ko1: r51365 2015-07-25 04:49:16 +0900 構造体メンバ struct rb_iseq_constant_body::catch_table の型に const 修飾子を追加しています。 svn: r51366 2015-07-25 04:49…

ruby-trunk-changes r51359 - r51364

今日は fstring の共有する文字列にフラグやインスタンス変数などのオブジェクトの付随情報は共有させないようにする修正などがありました。 nobu: r51359 2015-07-24 16:35:38 +0900 Filename.extname の rdoc 用コメントにディレクトリ名部分にドットを含…

ruby-trunk-changes r51344 - r51358

今日は force_encoding したEncodingに対して不正の文字を持つ文字列の reverse の不具合修正や、openssl の機能追加などがありました。 nobu: r51344 2015-07-22 23:44:20 +0900 String#reverse で文字列の Encoding に対して不正な文字を持つ文字列を forc…

ruby-trunk-changes r51320 - r51343

今日はなんといっても ISeq のオブジェクトの T_IMEMO 型オブジェクト化という内部的には大きな変更がありました。また ObjectSpace.each_object が特異クラスも取り出せるようにする変更もありました。 ko1: r51320 2015-07-22 04:04:56 +0900 ObjectSpace.…

ruby-trunk-changes r51305 - r51319

今日は Linux で IO.copy_stream に poll(2) を使うようにする最適化や、VC6 でビルドできるようにする修正などがありました。 normal: r51305 2015-07-21 05:33:50 +0900 IO.copy_stream で IO#nonblock= で nonblock に指定した IO オブジェクトから読み書…

ruby-trunk-changes r51298 - r51304

今日はコードサイズ削減や構造体サイズの削減などの細かな最適化などがありました。 nobu: r51298 2015-07-20 00:21:00 +0900 thread.c の ppoll(2) がない時の代替実装で timeout_ms の型が int なのに TIMET_MAX を最大値として計算されていたので、INT_MA…

ruby-trunk-changes r51292 - r51297

今日は内部的な VM の最適化やチェック強化などがありました。 nobu: r51292 2015-07-18 20:44:59 +0900 r51291 と同様に rb_load_internal0() と rb_load_protect() でもスクリプトを load した中で発生した例外を発生しなおしているところで TAG_RAISE を…

ruby-trunk-changes r51284 - r51291

今日は ARGF.read_nonblock に exception: false キーワード引数を追加する変更などがありました。 nobu: r51284 2015-07-17 23:51:34 +0900 vm_eval.c に $SAFE=4 にセットするコードが残っていたので、RUBY_SAFE_LEVEL_MAX という定数を利用するように修正…

ruby-trunk-changes r51265 - r51283

今日は spawn/exec 時の fd 関連のオプションで timer thread 用の fd が変更されてしまうのを防ぐ修正や、VM 関係のマクロの最適化やリファクタリングなどがありました。 ngoto: r51265 2015-07-16 21:08:56 +0900 r51209 で全てのプラットフォームで execv…

ruby-trunk-changes r51254 - r51264

今日は spawn や exec で fd => :close オプションを使った時の不具合修正や、大きな Hash リテラルを使った時に GC されたオブジェクトを参照して異常終了してしまう可能性がある不具合の修正などがありました。 kazu: r51254 2015-07-15 22:27:58 +0900 r5…

ruby-trunk-changes r51240 - r51253

今日は rb_proc_t とか rb_binding_t とか rb_env_t などの VM 内部で利用される構造体のメンバの削減がありました。 主に mark 処理のために冗長な参照を持っていたものを他の方法で mark することで使用メモリ削減と高速化が行なわれています。 kazu: r512…

ruby-trunk-changes r51231 - r51239

今日は主に webrick の修正がありました。 nobu: r51231 2015-07-14 11:20:16 +0900 標準添付ライブラリ webrick で WEBrick::GenericServer#shutdown では Thread を止めるための pipe の close をしていたのですが、WEBrick::GenericServer#stop でも同じ …

ruby-trunk-changes r51222 - r51230

今日は標準添付ライブラリ timeout で Object#timeout を deprecate の警告を出すようにしたりといった変更がありました。 zzak: r51222 2015-07-13 01:41:32 +0900 拡張ライブラリ openssl の rdoc 用コメントにインストール方法について追記しています。 …

ruby-trunk-changes r51219 - r51221

今日はドキュメントの修正とテストの追加だけでした。 nobu: r51219 2015-07-12 06:42:27 +0900 拡張ライブラリ stringio の StringIO#sysread のテストを追加しています。 https://github.com/ruby/ruby/pull/966 svn: r51220 2015-07-12 06:43:05 +0900 ve…

ruby-trunk-changes r51214 - r51218

今日は主に標準添付ライブラリ timeout の Timeout.timeout の例外のバックトレース調整の修正がありました。 nobu: r51214 2015-07-11 08:47:55 +0900 標準添付ライブラリ timeout で Timeout.timeout に発生させる例外クラスを明示的に指定した時のテスト…

ruby-trunk-changes r51205 - r51213

今日は spawn 時の timer thread の扱いの変更や、標準添付ライブラリ timeout でデフォルトで利用する例外クラスを以前のものに戻す修正などがありました。 nobu: r51205 2015-07-10 10:22:55 +0900 ext/extmk.rb で拡張ライブラリのうち "-xxx-" のような…

ruby-trunk-changes r51195 - r51204

今日は Net::HTTP のレスポンスコード 308 のサポート追加や Windows 版 Process.waitpid の割り込みの扱いの修正などがありました。 nobu: r51195 2015-07-08 20:35:59 +0900 test/lib/leakcheker.rb の LeakChecker#check_fd_leak で IO.console(:close) …

ruby-trunk-changes r51175 - r51194

今日は Random の実装の Linux 版 getrandom(2) システムコール対応や RubyVM::InstructionSequence#to_a の不具合修正などがありました。 nobu: r51175 2015-07-07 12:49:14 +0900 rb_check_id() と rb_check_symbol() で型変換の失敗時の例外でメッセージ…

ruby-trunk-changes r51158 - r51174

今日は rb_iseq_t::klass の削除などで rb_iseq_t が実行時の情報を持たない、純粋にスクリプトのコンパイル結果を持つ構造体になるという内部的には大きな変更がありました。VM のメソッド呼び出しまわりの実装がスッキリしたのではないかと思います。 hsbt…

ruby-trunk-changes r51151 - r51157

今日も主に rubygems のテストの修正などがありました。 normal: r51151 2015-07-05 18:28:16 +0900 RGENGC_PROFILE が 1以上に定義されていた時の GC のプロファイル情報を格納する時の Hash のキーが :REMEMBED_NORMAL_OBJECTS/:REMEMBED_SHADY_OBJECTS と…

ruby-trunk-changes r51142 - r51150

今日は Array#sort! のメモリリークの修正がありました。まだこんなことろにメモリリークが残っているとは。 nobu: r51142 2015-07-04 20:54:04 +0900 Enumerable#all?, #any?, one?, none? のテストケースに要素が空の時を追加しています。 kazu: r51144 20…

ruby-trunk-changes r51136 - r51141

今日は rubygems の並列テスト時の多重ロードが発生する現象の修正などがありました。 normal: r51136 2015-07-04 09:47:05 +0900 vm.c の rb_vm_mark() で RUBY_MARK_UNLESS_NULL() マクロを使って NULL チェックつきで mark 処理の呼び出しをしていたメン…

ruby-trunk-changes r51111 - r51127

今日は control frame のメンバ削除と method entry の管理方法の変更という内部的には大きな変更がありました。 nobu: r51111 2015-07-03 07:13:17 +0900 r51109 で Dir#glob で一部の errno は警告に留めるようにしましたが、Windows 版では errno にはセ…

ruby-trunk-changes r51092 - r51110

今日は RubyGems の更新とそのテストの修正や、Dir#glob のパフォーマンス改善などがありました。 hsbt: r51092 2015-07-02 06:50:14 +0900 標準添付している RubyGems を最新版(2.5.0 c202db2)にしています。 大量の変更があるので個別の解説はなしで Histo…