ruby-trunk-changes r63077 - r63091

今日は標準添付ライブラリ rexml の XPath の扱いの修正や RubyVM::InstructionSequence#disasm の表示の変更などがありました。

k0kubun: r63077 2018-04-04 00:42:00 +0900

r63053 と同様に mjit_init() で rb_vm_top_self() で返されるトップレベルオブジェクト(main)のクラスにも mjit_add_class_serial() を呼んでメソッドキャッシュの管理が可能なようにしています。

svn: r63078 2018-04-04 00:42:01 +0900

version.h の日付更新。

kou: r63079 2018-04-04 00:51:08 +0900

標準添付ライブラリ rexml の XPath の name という指定? がうまく動いていなかった不具合を修正しています。 [ruby-core:86098] [Bug #14600]

nobu: r63080 2018-04-04 01:50:17 +0900

r63073 で追加したテストの assert_equal のメソッド名が typo していたのを修正しています。 https://github.com/ruby/ruby/pull/1855 [ruby-core:86376] [Bug #14642]

nobu: r63081 2018-04-04 01:54:27 +0900

r63073 で追加していたテストですが、メソッド名が test_ で始まってなかったのでメソッド名を修正。また Thread#join でなく Thread#value で結果を取るようにしています。 [ruby-core:86376] [Bug #14642]

kou: r63082 2018-04-04 12:26:01 +0900

標準添付ライブラリ rexml の XPath で $variable でリストを返さないといけないのに node 1つだけ返していたのを修正しています。 [ruby-core:86098] [Bug #14600]

kou: r63083 2018-04-04 12:27:20 +0900

標準添付ライブラリ rexml の XPath の @attribute/parent の不具合修正。 [ruby-core:86098] [Bug #14600]

nobu: r63084 2018-04-04 13:28:47 +0900

RubyVM::InstructionSequence を disasm した時の出力の行末の空白を消すようにしています。

ko1: r63085 2018-04-04 14:00:52 +0900

Bignum の to_s の間に Thread#raise で割り込みがあった時のテストで to_s を呼ぶ前の同期のために sleep していたのを Queue を使ってタイミングを合わせるように変更しています。

kou: r63086 2018-04-04 15:36:06 +0900

標準添付ライブラリ rexml の XPath の関数を使った時の不具合修正。 [ruby-core:86098] [Bug #14600]

kou: r63087 2018-04-04 15:51:07 +0900

標準添付ライブラリ rexml の XPath parser デバッグ用のメソッドをコメントアウトした状態で入れています。

kou: r63088 2018-04-04 15:53:57 +0900

標準添付ライブラリ rexml の XPath の "/child::node()" で返す要素が node_type が :document の時に間違っていたのを修正。 [ruby-core:86098] [Bug #14600]

yui-knk: r63089 2018-04-04 16:46:06 +0900

gc_enter() のデバッグ用のメッセージの関数名の typo を修正しています。

ko1: r63090 2018-04-04 17:19:28 +0900

r63073 の Fiber の実装の修正で追加した win32_convert_thread_to_fiber() はやっぱり消して、root_fiber_alloc() に展開するようにしています。また rb_threadptr_root_fiber_setup_by_parent() はまた rb_threadptr_root_fiber_setup() に戻して rb_threadptr_root_fiber_setup_by_child() は削除しています。 root_fiber_alloc() は実際に Fiber 関連の操作をした時に呼ばれるので root fiber の fib_handle の設定は Thread 起動時には行なわず実際に Fiber を作る時まで遅延するようにしています。

nobu: r63091 2018-04-04 20:00:39 +0900

RubyVM::InstructionSequence#disasm で命令列を文字列化する時に rescue や ensure 節の内容に対応する catch table の ISeq を 行頭に "|" を加えてインデントして表示するようにしています。