今日は .gitignore の更新、不要コードの削除、新しめのバージョンの curl で廃止予定関数を使わないようにする修正、デフォルトの php.ini の typo の修正、7.2 〜 7.3 系の開発バージョンの引き上げ、ArrayIterator が 7.3.0 からバグっていた問題の修正、ハッシュテーブルの実装修正、JIT の Context Threading の実装を改善する修正があった!
2019-04-16
petk: Remove not needed extension generated files gitignores
- https://github.com/php/php-src/commit/68842534616cd0ab29af4c1b8966c4ebf9900c2c
- [7.4~]
- .gitignore で不要になった行の削除
dstogov: execute_data->return_value is not used for internal functions
- https://github.com/php/php-src/commit/3f7bf35e169556f441e5840909261f1677fff640
- [7.4~]
- 内部関数では execute_data->return_value は使われていないため初期化コードを削除
cmb69: Use curl_mime_*() functions if available
- https://github.com/php/php-src/commit/a83b68ba56714bfa06737a61af795460caa4a105
- [7.4~]
- ext/curl で、新しめのバージョンの curl で廃止予定関数を使わないよう修正
nikic: Partial fix for bug #77903
- https://github.com/php/php-src/commit/e1b4cabbd6d5ce72bb73ec4988b91c1e62c71335
- ArrayIterator が 7.3.0 からバグっていた問題の部分的修正
- とりあえずハッシュテーブルの無効な内部ポインタでは処理しないようにした
nikic: Fix second part of bug #77903
- https://github.com/php/php-src/commit/9a9eed472b05292f8e8aa82129ea5d1da4b0e0c2
- ↑の残っていた部分の修正
- テストコードを 3v4l に投げると、わりと「にゃーん」という気持ちになる
nikic: s/mysql_connect()/mysqli_connect() in php.ini
- https://github.com/php/php-src/commit/9a85a944d8ed79a9f006873be5c5f762e037ccbf
- [7.3~]
- デフォルトの php.ini で、mysql_connect() と書いてあったのを mysqli_connect に修正
cmb69: Prepare main branch for PHP 7.3.6
- https://github.com/php/php-src/commit/5ae49c43dc618ad373b88480a1662e480bd125fb
- [7.3~]
- 7.3 系の開発バージョンを 7.3.6 に引き上げ
nikic: Fix HT flags copying wrt iterator count
- https://github.com/php/php-src/commit/f9a755d0d27eebd02fdeb9b1750aaca70b15f409
- [7.3~]
- HT_FLAGS のコピー時イテレータ数を考慮するよう修正
- PHP 7 の foreach 修正 時にハッシュテーブルに紐づくイテレータの数を管理するような修正が入っている
- HT_FLAGS にはこれが含まれてる
- 不要な箇所ではイテレータ数をコピーせずマスクするよう修正している
nikic: Don't overwrite iterator count during real init
- https://github.com/php/php-src/commit/bd6ebf40b205387457d51288691e31a05ce7ad27
- [7.4~]
- ハッシュテーブルの "real init" 時にイテレータ数を上書きしないよう修正
- シリアライズ関係で入った奴?っぽいけどあまり追っておらずよく分かっておらず
dstogov: Improved support for "context threading" (not enabled).
- https://github.com/php/php-src/commit/f603f5c63caa6cdd94e0cf6540082efa9345f071
- ext/opcache/jit で、(現状ではデフォルト無効の)Context Threading の実装を改善
- リンク先の説明見てて i386 で eip の値をとるのに call-pop だと call と ret の対応崩れてプロセッサの分岐予測を乱すから call-mov-ret を使おうみたいな話を昔聞いたのを思い出した
- PHP の JIT エンジンでは呼び出しの多いベンチマークでは 25% 程度の性能向上があったらしい、けど別の再帰のベンチマークでは遅くなったらしい
remicollet: next is 7.2.19
- https://github.com/php/php-src/commit/6c44a71e4a0fd86c885a939a0b2f2ae082dcdf34
- [7.2~]
- 7.2 系の開発バージョンを 7.2.19 へ引き上げ