ruby-trunk-changes r52564 - r52576

今日はライブラリのいくつかに frozen_literal_string: true が追加されたり、内部的な CREF 操作のリファクタリングが行なわれたりしました。

ko1: r52564 2015-11-14 05:02:19 +0900

CREF の操作に関するコードのリファクタリング。 NODE_FL_CREF_PUSHED_BY_EVAL_/NODE_FL_CREF_OMOD_SHARED_ などの定数名を CREF_FL_PUSHED_BY_EVAL/CREF_FL_OMOD_SHARED に改名。 未使用の setter 関数の削除。vm_cref_push() に pushed_by_eval 引数の追加などなど。

ko1: r52565 2015-11-14 05:04:32 +0900

r52564 に追随して node.h に残っていた NODE のフラグ定数のコメントから NODE_FL_CREF_PUSHED_BY_EVAL と NODE_FL_CREF_OMOD_SHARED についての記述を削除。

ko1: r52566 2015-11-14 05:05:37 +0900

r52565 でコメントを削除したため、15〜のビットの説明が nd_line のみになったので、不要になった "or" も削除しています。

nobu: r52567 2015-11-14 15:26:15 +0900

AST から命令列へのコンパイル時にジャンプ先を管理するための label に参照カウントを追加して、参照されなくなった label は iseq_peephole_optimize() で削除するようにしています。最適化の邪魔にならないようにしているそうです。

akr: r52568 2015-11-14 16:43:23 +0900

標準添付ライブラリ open3 とそのテストに frozen_string_literal: true の magic comment を追加しています。

akr: r52569 2015-11-14 17:00:29 +0900

標準添付ライブラリ time とそのテストにも frozen_string_literal: true の magic comment を追加しています。

nobu: r52570 2015-11-14 17:13:11 +0900

r52518 で追加された Hash#<=, Hash#<, Hash#>=, Hash#> などのメソッドについての rdoc 用コメントを追加しています。 [Feature #10984]

akr: r52571 2015-11-14 17:25:30 +0900

標準添付ライブラリ resolv-replace にも frozen_string_literal: true の magic comment を追加しています。

akr: r52572 2015-11-14 17:46:11 +0900

標準添付ライブラリ tsort にも frozen_string_literal: true の magic comment を追加しています。

nobu: r52573 2015-11-14 18:03:08 +0900

iseq_peephole_optimize() で list をキャストして参照していたところを、あらかじめ(キャストして)変数 iobj に代入していたのでそちらを参照するようにしています。

akr: r52574 2015-11-14 18:43:18 +0900

標準添付ライブラリ tsort のテストでも frozen_string_literal: true の magic comment を追加しています。

akr: r52575 2015-11-14 21:45:30 +0900

標準添付ライブラリ time で Time.rfc2822 で文字列連結のため String#+ を使っていたところを String#<< で余分な中間オブジェクトを作らないようにしています。

akr: r52576 2015-11-14 22:15:33 +0900

拡張ライブラリ socket に存在する ruby スクリプトのライブラリに frozen_string_literal: true の magic comment を追加して、必要な箇所には .dup を追加しています。