Posted at

php-master-changes 2019-04-16

今日は .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


dstogov: execute_data->return_value is not used for internal functions


cmb69: Use curl_mime_*() functions if available


nikic: Partial fix for bug #77903


nikic: Fix second part of bug #77903


nikic: s/mysql_connect()/mysqli_connect() in php.ini


cmb69: Prepare main branch for PHP 7.3.6


nikic: Fix HT flags copying wrt iterator count


nikic: Don't overwrite iterator count during 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