今日は Time.localtime の高速化や jemalloc などを利用した時のビルドエラーの修正などがありました。
hsbt: r63987 2018-07-17 21:21:29 +0900
標準添付ライブラリ sync を default gem 化しています。
k0kubun: r63988 2018-07-18 00:09:41 +0900
MJIT で実行時のコンパイルをする時に命令のオペランドを VM スタックに乗せないようにする最適化? けど後ほど revert されています。
svn: r63989 2018-07-18 00:09:42 +0900
version.h の日付更新。
k0kubun: r63990 2018-07-18 00:15:31 +0900
r63988 で冗長になってた preprocessor の分岐があったので削っています。
k0kubun: r63991 2018-07-18 01:20:15 +0900
r63988 および r63990 を revert しています。 CI が失敗したとのこと。
tenderlove: r63992 2018-07-18 07:27:52 +0900
gc.c で RUBY_ALTERNATIVE_MALLOC_HEADER というマクロが定義されていると malloc.h のかわりにこれを #include するようにしています。 jemalloc などを利用する時に malloc.h を #include してると conflict がおきてコンパイルエラーになることがあるようです。
normal: r63993 2018-07-18 17:16:18 +0900
拡張ライブラリ zlib の構造体 struct gzfile のメンバー cbuf を削除して、これを利用している gzfile_getc() のローカル変数として文字列オブジェクト(つまり VALUE 型の)の cbuf を定義してバッファとして使うようにしています。
nobu: r63994 2018-07-18 19:30:41 +0900
time.c の rb_localtime_r() で tzset(3) の呼び出しを環境変数 TZ が更新された時だけ呼ぶようにしています。このために hash.c で ENV の更新時の特別扱いに追加して TZ の更新時にフラグを更新するようにしています。ちなみに PATH にも同様の特別扱いがあるんですね。