ruby-trunk-changes r64867 - r64874

今日は Range#% という Range#step と類似の演算子メソッドの追加、VMデバッグ用カウンタの種類の追加などがありました。

ko1: r64867 2018-09-28 10:10:43 +0900

VMデバッグ用イベントカウンターに VM frame push のカウンターを追加しています。フレーム種類別のカウンターも同時に追加しています。また obj_free() 時のオブジェクトのタイプ毎のカウンタに新しいタイプや T_IMEMO の各サブタイプの対応も追加しています。

svn: r64868 2018-09-28 10:10:53 +0900

version.h の日付更新。

mrkn: r64869 2018-09-28 11:18:58 +0900

Range#% という演算子メソッドを追加しています。1引数しか受け付けないこと以外は Range#step と同様の機能です。 [ruby-core:86588] [Feature #14697]

ko1: r64870 2018-09-28 12:32:49 +0900

benchmark/lib/load.rb というファイルを追加して、benchmark_driver を require させています。

ko1: r64871 2018-09-28 12:35:15 +0900

VMデバッグ用イベントカウンターにさらに Ruby 実装のメソッドと C 実装のメソッドの呼び出しの移動の回数をカウントするためのものを追加しています。なるほどー。これは最適化の方針を考えたりするのに使うんでしょうね(他のもだけど)。

ko1: r64872 2018-09-28 14:28:12 +0900

GC 関連のベンチマーク用の utility benchmark/gc/gcbench.rb で GC::Profiler はデフォルトでは無効にしておいて、コマンドラインオプション -p で有効にできるようにしています。遅いからかな。

kazu: r64873 2018-09-28 15:25:24 +0900

Range#step の rdoc 用コメントの項目に r64869 で追加の Range#% についての call-seq も追記しています。

nobu: r64874 2018-09-28 18:23:35 +0900

r64869 のインデントの修正のみ。