今日は BASERUBY が 2.2 より古い時は BASERUBY が必要な場合(パッケージでなくリポジトリからのビルドなど)はエラーになるようにする変更や ripper の DSL で $$ という変数参照を使えるようにする変更などがありました。
[9a3371be8f] Jeremy Evans 2020-03-03 20:24:02 UTC
参照しているチケットは tool/vcs.rb が SyntaxError になるというものですが、変更は configure で BASERUBY のバージョンが 2.2 以降であることを要求するようにする内容になっています。 [ruby-core:97325] [Bug #16668]
[07b2102a88] Jeremy Evans 2020-03-03 20:53:09 UTC
ということで 9a3371be8f5274d1dca64b93c7b9a379e32ea2f5 の続きで tool/lib/vcs.rb の古い ruby のための代替実装などを削除しています。 [ruby-core:97325] [Bug #16668]
[b8fadf3a6b] Nobuyoshi Nakada 2020-05-28 17:43:30 UTC
bignum.c のデバッグ用の BIGNUM_DEBUG というマクロが常に 0 になってたので、コマンドラインオプションで 1以上に定義されてたらそれが影響するようにしています。ついでに GitHub Actions でそのテストをしていたところがマクロ名を typo していたので修正。
[fd7849cedb] git 2020-05-28 17:45:11 UTC
version.h の日付更新
[c7ceaa6d3c] Aaron Patterson 2020-05-28 21:13:15 UTC
gc_compact_after_gc() から移動したオブジェクトの slot を解放する処理を gc_unlink_moved_list() という関数に切り出すリファクタリング。
[d32e2bb02d] Nobuyoshi Nakada 2020-05-24 11:12:32 UTC
ext/ripper/tools/dsl.rb で $$ というグローバル変数? を別に新規作成したグーバル変数 $dollar への alias として上書きしています。グローバル変数の alias なんてできたんだ。 ripper の DSL 内で yacc っぽい $$ が使えるようにするためのようです。
[6ba2d3e4c6] Koichi Sasada 2020-05-29 02:19:44 UTC
internal.h の ruby_debug_breakpoint() と ruby_debug_printf() の宣言を RUBY_SYMBOL_EXPORT_BEGIN と RUBY_SYMBOL_EXPORT_END で囲んで mswin 環境で export されるようにしています。
[03d7f3cdb2] Koichi Sasada 2020-05-29 02:23:17 UTC
RubyVM::InstructionSequence#disasm で出力する命令列の表示のインデントを修正。
[d300a73441] Koichi Sasada 2020-05-29 04:50:58 UTC
RUBY_DEBUG が未定義で clang の 7 以降の時に RBIMPL_ASSERT_OR_ASSUME() は RBIMPL_ASSUME() を使って __builtin_assume() というのを使ってコンパイラに最適化のヒントを与えるようになっていましたが、Clang で _builtin_assume() の挙動に不具合っぽいものがあったそうで RUBY_ASSERT_NOASSUME というマクロを定義すると __builtin_assume() を使うのもやめるようにしています。
[0bd025ad69] Takashi Kokubun 2020-05-29 05:45:27 UTC
debug counters に MJIT で VM 命令の leave をコンパイルしたもので割り込みを検出してキャンセルする処理に入った時のカウンター mjit_cancel_leave を追加しています。