ruby-trunk-changes r63692 - r63697

今日は昨日の PUSH() で VM スタックに内部用オブジェクトを置かないようにチェックするのを復活させる変更などがありました。

nobu: r63692 2018-06-19 08:19:38 +0900

r63687 および r63688 で PUSH() で VM スタックに内部オブジェクト(struct RBasic::klass が 0)を置くのを禁止する VM_ASSERT() が rubyspec にひっかかったのは Wrap_Data_Struct() の C API のテストのせいだったみたいなので、問題のテストを削っています。

svn: r63693 2018-06-19 08:19:39 +0900

version.h の日付更新。

ko1: r63694 2018-06-19 11:46:10 +0900

r63692 のさらに続きで rubyspec の TypedData_Wrap_Struct() のテストで klass=0 のものを使ってた部分削って r63687 での PUSH() での VM_ASSERT() を復活させています。

normal: r63695 2018-06-19 16:12:43 +0900

RGENGC_CHECK_MODE が2以上に設定されている時にチェックされる gc_verify_heap_pages() で heap_eden と heap_tomb の page 数を加算してなくて heap_tomb のほうだけ戻り値にしていたのを修正しています。

nobu: r63696 2018-06-19 17:15:52 +0900

NameError 例外オブジェクトの NameError#receiver で Module#include で導入された private constant を親名前空間つきの参照をした時の例外で IClass が返される不具合があったのを修正しています。

nobu: r63697 2018-06-19 17:45:17 +0900

rubyspec に private class を参照したときの NameError の receiver と name メソッドについてのテストケースを追加しています。