ruby-trunk-changes 2020-11-02

今日は Ractor.send でオブジェクトの移動をする時の実装の変更などがありました。

[db7a3b63ba] Koichi Sasada 2020-11-01 00:56:40 UTC

ractor_move() という関数からオブジェクトの参照を再帰的に辿って Ractor 間のオブジェクトの移動のために参照をつけなおす処理を追加して Ractor.send(move: true) で移動できるオブジェクトの種類を増やしているようです。

[1581da9993] git 2020-11-01 16:37:56 UTC

version.h の日付更新

[5fefb53249] Koichi Sasada 2020-11-01 01:20:26 UTC

ractor_copy() という関数で Marshal.dump を使ったオブジェクトのコピーを行なっていたのを db7a3b63bae810a03b19b5577ded1403bb789185 で導入した rb_obj_traverse_replace() を利用してコピーするようにしています。

[539b89075a] Nobuyoshi Nakada 2020-11-02 09:24:45 UTC

parse.y の parser_get_bool() で strcasecmp(3) を直接使っていたところを STRCASECMP() マクロを利用するようにしています。 STRCASECMP() の実体は st.c で定義されている locale の影響を受けない独自バージョンの実装のようです。