php-master-changes 2019-02-15

今日は MultipleIterator::__construct の arginfo 修正、pgsql の古くなった README の削除、テストの修正、PHP Testfest 2017 で追加されたテストの取り込み、com_dotnet の typelib 経由での定数定義の扱い修正、Typed Properties と Preloading の実装のつじつま合わせ、一部エラーメッセージの修正、エンジンのコードサイズ削減のリファクタリングがあった！

# 2019-02-15
## villfa: Fixed bug [#77619](https://bugs.php.net/bug.php?id=77619)
- https://github.com/php/php-src/commit/ce7552af381f980a1070e258f051b76004268b3a
- ext/spl で、[MultipleIterator::__construct()](http://php.net/manual/ja/multipleiterator.construct.php) の arginfo が誤っていた問題の修正

## villfa: Remove outdated pgsql README
- https://github.com/php/php-src/commit/b996476578ff1bff3538e8ca5fe2d48b91d2e2be
- [7.4~]
- ext/pgsql で、古くなった README を削除

## rjhdby: use local resources instead remote
- https://github.com/php/php-src/commit/6bf1f434f089a00dccfd8a594e25191887c650d9
- [7.4~]
- リモートのリソースにアクセスできないとこける 2 テストについて、ローカルのリソースで完結するよう修正

## mcq8: Added basic stream_filter_register test
- https://github.com/php/php-src/commit/31a01302dd7f2773f1bcdd6cfeb363e0ad522940
- [7.4~]
- [stream_filter_register()](http://php.net/manual/ja/function.stream-filter-register.php) のテストを追加
- [PHP Testfest 2017](https://phptestfest.org/groups/2017/)

## royopa: Small change in the test to pass
- https://github.com/php/php-src/commit/34ca92212520599cb2ad299682deb692c4bf5889
- [7.4~]
- ext/fileinfo で、Travis CI での実行が遅いことでこけたりするテストを、ちょっと遅いくらいなら通るよう修正
- PHP Testfest 2017

## xrmx: Add basic test for posix getgrnam
- https://github.com/php/php-src/commit/4411cb66567f72e373cc481654de61f732e08af0
- [7.4~]
- ext/posix で、[posix_getgrnam()](http://php.net/manual/ja/function.posix-getgrnam.php) のテストを追加
- PHP Testfest 2017

## royopa: Create posix_getpwnam_basic_01.phpt
- https://github.com/php/php-src/commit/2c90beacf0cca27dac84cae8b00a50d5f9e188f1
- [7.4~]
- ext/posix で、[posix_getpwnam()](http://php.net/manual/ja/function.posix-getpwnam.php) のテストを追加
- PHP Testfest 2017

## royopa: Add test to function posix_getlogin()
- https://github.com/php/php-src/commit/c2eb68aafedd8a4743a77a0a90680a8a4595a9e1
- [7.4~]
- ext/posix で、[posix_getlogin()](http://php.net/manual/ja/function.posix-getlogin.php) のテストを追加
- PHP Testfest 2017

## BlackIkeEagle: gd imageloadfont test while reading header
- https://github.com/php/php-src/commit/fee9f3a8f45e9bc8a85baac07f4852464a752551
- [7.4~]
- ext/gd で、[imageloadfont()](http://php.net/manual/ja/function.imageloadfont.php) のテストを追加
- PHP Testfest 2017

## cmb69: Fix [#77621](https://bugs.php.net/bug.php?id=77621): Already defined constants are not properly reported
- https://github.com/php/php-src/commit/de738496c2c323b580d9aff0f121876e4101a910
- [7.2~]
- ext/com_dotnet で、com.autoregister_verbose 有効でも typelib 読み込み時に定義済定数が警告されない問題の修正

## nikic: properties_info_table may be in arena or shm
- https://github.com/php/php-src/commit/ffc7e953ea908f05703d573faadc51707936321c
- [7.4~]
- ext/opcache で、properties_info_table が常に Arena にあることを前提にしたコードがあったのを immutable なら共有メモリの方を見るよう修正
- [#77615](https://bugs.php.net/bug.php?id=77615) に関連するらしい
- Typed Properties と Preloading 関係の実装のバッティングみたいな感じかな

## nikic: Assign (un)serialize_func during compilation
- https://github.com/php/php-src/commit/3cafa7f4df07e2dd5c4f34e74bfdf2631fc2ef6a
- serialize_func / unserialize_func （内部的に Serializable の実装に関わる奴かな）の代入をランタイムでなくコンパイル時に行うよう修正
- preloading の都合でランタイムの書き換えをしたくないみたいな感じかな

## nikic: Add a --preload testing mode to run-tests.php
- https://github.com/php/php-src/commit/a2e953479857451640afa604a533ca177f2a9bf5
- [7.4~]
- run-tests.php に --preload モードを追加してみた
- 今のところ偽陽性が多めらしい

## nikic: Add preloading support for typed properties
- https://github.com/php/php-src/commit/c15007956d9fbee7d8ef862cb222469382e257ae
- [7.4~]
- ext/opcache で、Preloading を Typed Properties に対応させるよう修正
- Preloading の最中に各プロパティの型を解決しようとする

## nikic: Suppress zend_throw_error during preload constant resolution
- https://github.com/php/php-src/commit/ade9d5e95b879def3ce5b2b0c117ce1258c211ee
- [7.4~]
- Preloading での定数解決の際に zend_throw_error() での例外生成を抑制するよう修正
- これも [#77615](https://bugs.php.net/bug.php?id=77615) に関連

## cmb69: Deprecate case-insensitive constants via typelib import
- https://github.com/php/php-src/commit/fae22461f95dfe8153fb74a53b9c5daeec47387f
- [7.4~]
- ext/com_dotnet で、typelib インポート経由での case-insensitive 定数も非推奨化

## nikic: Avoid uninitialized entries in properties_info_table
- https://github.com/php/php-src/commit/e6e9bea25798068ff3c9135515e5d000fe70a43b
- [7.4~]
- properties_info_table の未初期化要素を回避し、また xlat へ突っ込むのをやめた
- zend_shared_memdup_put() とか put() が付いてるのは xlat へついでに突っ込む操作だけど、properties_info_table の扱いもうちょっと見ないとよく分かんないなこれ

## dstogov: Reduce slow code size
- https://github.com/php/php-src/commit/78a1d7696263bab0deaf29a76d332ac26967afa3
- [7.4~]
- スローパスのコードサイズを抑制してキャッシュ効率を上げる最適化みたいな感じかな

## rjhdby: Unify clone method error message
- https://github.com/php/php-src/commit/d6a53ed5e0feaef8676deee39d52e65bf31724b1
- [7.4~]
- Clone メソッド用のエラーメッセージに Clone って付いてなかったのを修正
- [PR:3835](https://github.com/php/php-src/pull/3835) を見れば何の話か分かる

## dstogov: Avoid useless code duplication, because of unused specialization
- https://github.com/php/php-src/commit/d4bef4ce7bcc6568ac81224fa0cddaa9bc81aaee
- [7.4~]
- 使われない特化ハンドラのために無駄なコードが生成されていたのを修正