ruby-trunk-changes r61748 - r61758

今日は昨日入れた succinct bitvector での get_insns_info() の実装の 32 bit 環境向けの修正や VM 用コード生成ツール変更の revert などがありました。

ko1: r61748 2018-01-10 02:09:23 +0900

r61739 で get_insns_info() のデフォルトの実装を succinct bitvector にしていましたが、Rasbian (x86_64) でうまく動かなかったそうなので二分探索に戻しています。

normal: r61749 2018-01-10 07:59:58 +0900

thread.c の threadptr_pending_interrupt_active_p() に static 修飾子をつけています。

normal: r61750 2018-01-10 08:47:19 +0900

thread_pthread.c でスタックサイズの取得に get_stack_of() を利用するケースの分岐を削除しています。 [Feature #8793] なので HP-UX 向けの対応? うーん積極的にサポートはしてないにしてもわざわざ落とさなくても、という気もします。どのみち他の変更で既に動かなくなってそうな気はするけど。

kazu: r61751 2018-01-10 09:01:31 +0900

insns.def のヘッダ部分のコメントの typo 修正。

hsbt: r61752 2018-01-10 10:00:21 +0900

tool/ruby_vmVMソースコード生成ツールの変数名やメッセージの typo 修正。

svn: r61753 2018-01-10 10:00:23 +0900

r61752 に呼応した(多分) svn property の設定。

normal: r61754 2018-01-10 10:07:27 +0900

システムコール openat(2) へのフラグの渡しかたが、第4引数で渡していましたが、実際には第4引数は mode なので第3引数で渡すように修正しています。 [Feature #13056] [ruby-core:84790] [Feature #14346]

shyouhei: r61755 2018-01-10 10:53:24 +0900

r61728 以降の insns.def の変更と insns.def から VM 用のソースコード生成ツールの変更を revert しています。このツールの動作のため BASERUBY に比較的新しいバージョンが要求されるのでもうちょっと調整する(CI 環境のほうを整備するのかも)みたいです。

usa: r61756 2018-01-10 12:54:02 +0900

r61594 で SIZEOF_UINTPTR_T で strinc.c の NONASCII_MASK の定義を分岐していましたが、uintptr_t のサイズが 4 でも 8 でもない時に未定義になっていたので、#error で明示的にコンパイルエラーにするようにしています。

mame: r61757 2018-01-10 14:57:15 +0900

r61739 で導入した succinct bitvector 実装が 32 bit 環境で壊れてたのを修正して、また get_insns_info() のデフォルトの実装を succinct bitvector 実装に変更しています。 64bit の整数を期待して suffix に L をつけた整数リテラルを書いていたのを、明示的に uint64_t にキャストするようにしています。

mame: r61758 2018-01-10 19:39:09 +0900

test-all に root ユーザーで実行すると失敗するテストというのがちらほらあるそうで、そういうものは root で実行した時に skip するようにしています。