ruby-trunk-changes r63238 - r63246

今日は net/imap の keepalive 設定の有効化や、VM 命令の最適化の対象の拡張などがありました。

normal: r63238 2018-04-22 21:09:07 +0900

rb_native_cond_initialize() の引数から flags を削除して常に RB_CONDATTR_CLOCK_MONOTONIC で生成するようにしています。 ついでに? pthread_cond_xxx() の引数に rb_nativethread_cond_t を直接渡すようにしています。っていうかこれいままでメンバーにアクセスしてたの不可視な中身にアクセスしてたのかな? [ruby-core:85639] [Misc #14497]

ko1: r63239 2018-04-23 01:03:09 +0900

rubyspec の rss についてのテストが XPath の仕様変更でエラーになっていたので skip するようにしています。

svn: r63240 2018-04-23 01:03:10 +0900

version.h の日付更新。

ko1: r63241 2018-04-23 01:33:49 +0900

rubyspec の rexml のテストもエラーになっていたのでコメントアウトするようにしています。

stomar: r63242 2018-04-23 04:41:06 +0900

printf の rdoc 用コメントの文法修正。 https://github.com/ruby/ruby/pull/1789

normal: r63243 2018-04-23 06:21:06 +0900

標準添付ライブラリ net/imap で開く TCPSocket で TCPSocket#setsockopt で SO_KEEPALIVE をセットするようにしています。繋ぎっぱなしにした状態で接続が切れているとそれに気がつけないので定期的に keepalive パケットを送信するようにしています。 [ruby-core:86628] [Feature #14703]

nobu: r63244 2018-04-23 11:07:11 +0900

r63238 の続き。 condvar のタイマーとして CLOCK_MONOTONIC が使えなかった時にはデフォルトの CLOCK_REALTIME に fallback するようにしています。 [ruby-core:85688] [Misc #14497]

normal: r63245 2018-04-23 14:54:06 +0900

r63217 で追加した fd 再利用対応のテストの調査で r63231 で追加した Thread#join のタイムアウトを調整しています。

nobu: r63246 2018-04-23 18:52:23 +0900

iseq_peephole_optimize() の VM 命令最適化ですぐに pop されてしまう値を push する命令を消す最適化の対象に dup, getlocal, getblockparam, getblockparamproxy なども追加しています。