ruby-trunk-changes 2020-06-30

今日は configure 時の CPU アーキテクチャ検出に arm64 を追加する変更などがありました。

[eefc2d8a3c] Kazuhiro NISHIYAMA 2020-06-30 08:13:37 UTC

Integer#zero? の rdoc 用コメントの typo 修正。

[15a312ed40] git 2020-06-30 08:14:18 UTC

version.h の日付更新

[7cb8904a12] Samuel Giddins 2020-06-30 07:13:17 UTC

configure が使う tool/m4/ruby_universal_arch.m4 で定義する RUBY_UNIVERSAL_ARCH というマクロでコンパイルターゲットの CPU アーキテクチャを検出するのに preprocessor のマクロをチェックしてるところに __arm64__ を検出して arm64 という名前をセットする対応を追加しています。"for ARM64 Macs" とあるから AppleMac に ARM を採用するのにむけた対応ですかね。

[74ac12830b] Nobuyoshi Nakada 2020-06-02 23:21:22 UTC

method.h の METHOD_ENTRY_COMPLEMENTED_SET()、METHOD_ENTRY_CACHED_SET()、METHOD_ENTRY_INVALIDATED_SET() などの method entry の flags にビットフラグをセットするマクロで |= による論理和つき代入を使うようにしています。関数マクロの引数の評価を 1回にするためみたいです。

[52ef2477e4] Nobuyoshi Nakada 2020-06-02 23:31:00 UTC

method.h に METHOD_ENTRY_CACHEABLE() というメソッドの可視性(visibility) が protect かどうかをチェックする頻出処理を関数マクロとして切り出すリファクタリング

[1351374bd1] Nobuyoshi Nakada 2020-06-02 23:40:11 UTC

vm_method.c の rb_method_boundp() にて複雑な条件による if 文をネストさせて METHOD_ENTRY_VISI(me) による分岐は if 文内にさらに switch 文を置くようにするリファクタリング