ruby-trunk-changes 2023-04-21

今日は YJIT の生成するコードの最適化や fcntl, win32ole, rinda などのバージョンの指定方法の変更などがありました。

[64a25977ed] Takashi Kokubun 2023-04-20 20:08:42 UTC

YJIT の arm64 環境での機械語命令生成の実装の peephole 最適化。 https://github.com/ruby/ruby/pull/7747

[ae90fa981a] Peter Zhu 2023-04-18 17:25:01 UTC

struct RBasic::flags の T_CLASS 型オブジェクトの時のビットフラグについてコメントを追加しています。

[072ef7a1aa] John Hawthorn 2023-04-19 17:40:40 UTC

YJIT の VM 命令 invokesuper のコンパイル時の method entry のチェックが現在の実装ではもう不要とのことで削除しています。

[9702a8142b] Hiroshi SHIBATA 2023-04-21 04:13:10 UTC

拡張ライブラリ fcntl のバージョンを ext/fcntl/fcntl.c で定数マクロとして定義して gemspec ファイルではそこから文字列操作で切り出して利用するようにしています。

[b9b43a1020] Hiroshi SHIBATA 2023-04-21 04:34:55 UTC

拡張ライブラリ win32ole の gemspec ファイルでバージョン番号を ext/win32ole/win32ole.c に定義されている定数マクロの値から切り出すようにしています。定数自体はもとからあったので二重管理になってたのをマクロだけ書きかえればいいようにしています。またバージョンを 1.8.9 に更新しています。

[94a418d0bb] Hiroshi SHIBATA 2023-04-21 06:19:54 UTC

標準添付ライブラリ rinda でもバージョンを Rinda::VERSION という定数で定義して gemspec ファイルからは文字列操作で切り出すようにしています。