今日は主にエンジン内の局所最適化の修正が幾つかあった!
2018-12-19
dstogov: Reorder conditions
- https://github.com/php/php-src/commit/ae9e956ef901ca3f93fd74a412c468bed12a2391
- executor 内の条件分岐の順序を並び替え
- 単に頻度の高いパスを先に持ってって高速化なのかなーとは思うものの詳細不明
dstogov: Replace zend_hash_apply... with ZEND_HASH_FOREACH...
- https://github.com/php/php-src/commit/cec091176cecd3f1efd553f4283fa7346184ad36
- zend_hash_applyホニャララ を ZEND_HASH_FOREACHホニャララ へ置き換え
- たぶん単にハッシュテーブルに 1 つ 1 つ何かして回る系をインライン化して速くしたい
dstogov: Fixed compilation warnings
- https://github.com/php/php-src/commit/9acfe1f8f02d9dd53c2c1958e942df3f67577385
- 先日修正した箇所のコンパイラの警告を修正、PHP_MSHUTDOWN_FUNCTION は int 返す関数としての宣言に展開される
dstogov: Replace add_index_zval() and add_next_index_zval() functions by macros
- https://github.com/php/php-src/commit/85e1df6fdcaf307c5e6b241df4d859e916806d2a
- add_index_zval() と add_next_index_zval() をマクロに変更、たぶんこれもインライン化して速くしたい
dstogov: Removed add_get_assoc_() and add_get_index_() API functions
- https://github.com/php/php-src/commit/d356f6d72b1aa2abe27ba4d135174646b3a4c03a
- add_get_assoc_() 系と add_get_index_() 系を削除
dstogov: Reuse add_property_zval_ex() instead of code duplication
- https://github.com/php/php-src/commit/493f8303559c0f2ff88c1c245513ece86fadde27
- add_property_*ex() の各関数で重複処理を持っていたのを add_property_zval_ex() で済ますよう修正
dstogov: Added specialized code for small arrays
- https://github.com/php/php-src/commit/dddf3c501ea737ca2992304b227774aa0cb203ae
- 配列初期化処理を小さなサイズの配列に強くした