php-master-changes 2019-07-05

この日はハッシュテーブル実装へのアサーション追加、opcache 最適化器の実装修正、litespeed の更新、prealoading の実装修正、テストの修正、複合代入演算に専用オペコードを使っていたのを extended_value で区別するようにする修正、in_array() の整数値での厳密比較時の最適化、zend_parse_parameters_none() と zend_parse_parameters_none_throw() の実装修正があった！

# 2019-07-05
## nikic: Assert that HT entries using add_new APIs are really new
- https://github.com/php/php-src/commit/6a9127c100dd6745103ff603ca39fa361431d742
- [7.4~]
- デバッグ時にも分岐へ入るようにしつつ ZEND_ASSERT を足してる、何かコードの挙動に不安でもあるのか……？と思ったもののよく分からず

## nikic: Compact literals: Don't insert unmergeable keys
- https://github.com/php/php-src/commit/a0e762405955b9e3b63ca8f164006afc6bb6b435
- [7.4~]
- ext/opcache で、定数表コンパクションの実装を修正

## George Wang: Updated to LiteSpeed SAPI V7.4.3
- https://github.com/php/php-src/commit/32af676bd9f13815d40138a2299e862a3c6985cf
- [7.2~]
- sapi/litespeed を更新
- レスポンスヘッダの個数制限を 100 から 1000 へ増加
- シグナルハンドラを追加してクラッシュ時の挙動をお行儀よく修正
- CloudLinux の mod_lsapi モードの対応

## nikic: Preloading: Don't move conditional functions to back to scripts
- https://github.com/php/php-src/commit/d3c4841b180d57b5bd65171b68043504a4598aca
- [7.4~]
- ext/opcache で、preloading 時にトップレベルでない実行時定義の関数を EG の関数テーブルからスクリプトの関数テーブル？へ移すような処理があったのを削除
- 多分 opcache でのスクリプトの管理を調べないとよく分からない奴だ

## nikic: Fix wrong size calculation related to function name
- https://github.com/php/php-src/commit/ea43624972b51c367614c62257bda09a90f1d76f
- [7.4~]
- ext/opcache で、関数名の誤ったサイズ計算の修正

## nikic: Add test
- https://github.com/php/php-src/commit/24ecfcc8339d0158d5cd209b8737d8d764703ded
- [7.4~]
- ext/opcache で、関数内での関数定義のテストを追加

## dstogov: Replace ZEND_ASSIGN_ADD (and others) by ZEND_ASSIGN_OP, ZEND_ASSIGN_DIM_OP, ZEND_ASSGIN_OBJ_OP and ZEND_ASSIGN_STATIC_PROP_OP
- https://github.com/php/php-src/commit/48ca5a1e176c5301fedd1bc4f661969d6f9a49eb
- [7.4~]
- 複合代入演算に専用オペコードを使っていたのを、 ZEND_ASSIGN_OP、ZEND_ASSIGN_DIM_OP、ZEND_ASSGIN_OBJ_OP、ZEND_ASSIGN_STATIC_PROP_OP と extended_value で処理するよう修正

## dstogov: Removed die('skip wurstuoppe');
- https://github.com/php/php-src/commit/1f800e2f822ac04867f4780ab6fab792d74d334b
- ext/opcache で、テストの謎の 'die('skip wurstuoppe');' を削除

## nikic: Optimize integer in_array with strict=true
- https://github.com/php/php-src/commit/ea86a9209c0cf6e39f364d6a5cf0ed07addbf3f9
- [7.4~]
- [in_array()](https://www.php.net/manual/ja/function.in-array.php) の整数値での厳密比較 true 時の挙動を最適化

## nikic: Fix inference for compound object op on dim
- https://github.com/php/php-src/commit/c353f17d4251f185d8fdb756991782671b0e2ac6
- [7.2~]
- ext/opcache で、型推論の修正

## nikic: Make sure all cases of fetch_dim_w adjustment are handled
- https://github.com/php/php-src/commit/73fd2da754ab3b7227a3c6af26e2adc761817200
- [7.4~]
- ext/opcache で、型推論の実装で case の漏れがあったのを修正し、また漏れがあったら気付くよう EMPTY_SWITCH_DEFAULT_CASE の追加

## nikic: Backport fe_reset_rw case
- https://github.com/php/php-src/commit/5846e852831a01ab70b9350031924462302e1854
- [7.2~]
- ↑の case 指定漏れ修正の 7.2 系移行へのバックポート

## cmb69: Temporarily skip test
- https://github.com/php/php-src/commit/4e5a717866ed18c5ee539e339e33cc71f0ac8a88
- [7.4~]
- Windows で 10 分くらい止まってしまうようになってたテストを一旦スキップするよう修正

## dstogov: Eliminate useless checks
- https://github.com/php/php-src/commit/55f7d3b70a266c1fafaf571550a8496633dcd342
- [7.4~]
- zend_parse_parameters_none() と zend_parse_parameters_none_throw() の実装修正
- 返り値からとるより良いコード出るのかな

## cmb69: Remove superfluous assignment
- https://github.com/php/php-src/commit/30441e65dddb13c9c7a63019738f0a767a18a3d4
- [7.4~]
- テストの余分な代入を削除