php-master-changes 2019-07-16

今日は字句解析器のリファクタリング、不要コードの削除、typo の修正、インクリメント / デクリメントのオペコードハンドラの修正、VM の実装で IS_UNDEF のチェックを遅らせるようにする修正、テストの並列実行対策、opcache_get_configuration() で JIT なしビルドでも JIT 用設定の情報をとろうとしていた問題の修正、7.2 系 / 7.3 系の開発バージョン引き上げ、PHP タグだけのファイルが正常に開始タグ以外何もないファイルとして解釈されるようにする修正、ZEND_HASH_FOREACH の利用箇所を追加するリファクタリング、一部分岐条件を ZEND_ASSERT に置き換える修正、テストでショートタグの使われていた箇所の修正、PHP スクリプトの読み込み時にそのスクリプトへ同時に書き込みが発生すると SIGBUS が投げられる問題の修正、ZEND API zend_stream_init_fp() と zend_stream_init_filename() を実装する修正があった！

# 2019-07-16
## nikic: Combine SKIP_TOKEN+RETURN_TOKEN into one macro
- https://github.com/php/php-src/commit/fcdb12ed4db4d0b30c15b6ff1f872d173836bb5a
- [7.4~]
- 字句解析器で、マクロ SKIP_TOKEN() と RETURN_TOKEN() を RETURN_OR_SKIP_TOKEN() に統合

## petk: Remove some \*.dsp/\*.dsw leftovers
- https://github.com/php/php-src/commit/07daf6cd6238c3b9fff8a4283b303db503d48731
- [7.4~]
- Windows 用の不要コードの削除

## petk: Remove Windows syslog script and syslog.reg
- https://github.com/php/php-src/commit/cc44bad1f6ded6a62c9bbe4d145b5b418aa775f4
- [7.4~]
- Windows 用の不要コードの削除

## petk: Remove unused files
- https://github.com/php/php-src/commit/59ba991b9cabe34530bce2bf39f0750b62c1b3e2
- [7.4~]
- Windows 用の不要コードの削除

## petk: Remove win32/php_stdbool.h
- https://github.com/php/php-src/commit/24f4dff0753a1f5b432a7df3a8c3c235056ef4e8
- [7.4~]
- Windows 用の不要コードの削除

## Girgias: Small typo and proto name fix
- https://github.com/php/php-src/commit/548d1ec27c0f56aaec83e40578fee89dab4b3904
- [7.4~]
- typo の修正

## dstogov: Fixed incorrect specialization (missed IS_INDIRECT handling)
- https://github.com/php/php-src/commit/9ccf3fb99601dbc1a2aa40f62c0588e2a2ba4f07
- [7.2~]
- VM の実装でインクリメント / デクリメントのハンドラ修正
- なんか IS_INDIRECT の扱いがアカンかったらしい

## dstogov: Delay IS_UNDEF checks
- https://github.com/php/php-src/commit/1d4c38421ad64ca2155f7626fe723bfe475d0a70
- [7.4~]
- VM の実装で IS_UNDEF のチェックを遅らせるよう修正

## nikic: Canonicalize file-names in zip tests
- https://github.com/php/php-src/commit/e2e3ddac7dac1e8e9447f95342352c5b13867a77
- [7.4~]
- ext/zip で、一時ファイル名を修正してテストの並列実行対策

## nikic: Fix name collisions in fputcsv tests
- https://github.com/php/php-src/commit/26977fdfdd2b71ca73d22844531b9ffa25c29e17
- [7.4~]
- fputcsv() / fgetcsv() のテストの一時ファイル名衝突を修正してテストの並列実行対策

## nikic: Fix build without jit
- https://github.com/php/php-src/commit/760308cbff05914efd20cf1ad4d39f5b4cb3c24e
- ext/opcache で、JIT なしのビルドでも [opcache_get_configuration()](https://www.php.net/manual/ja/function.opcache-get-configuration.php) で JIT 用設定の情報をとろうとしていたのを修正

## remicollet: next is 7.2.22
- https://github.com/php/php-src/commit/c9037421ac2787842e261ce061726999915a89ef
- [7.2~]
- 7.2 系の開発バージョンを 7.2.22 に引き上げ

## nikic: Fixed bug [#78297](https://bugs.php.net/bug.php?id=78297)
- https://github.com/php/php-src/commit/8a19fe29de77d7477d59db472dd6aadabd5ac249
- [7.2~]
- sapi/phpdbg で、存在しないファイルを include しようとするとメモリリークになっていた問題の修正

## nikic: Support <?php followed by EOF
- https://github.com/php/php-src/commit/c9acc9018629d046679fcdccabd4a4f556b87499
- [7.4~]
- PHP タグだけのファイルが正常に開始タグ以外何もないファイルとして解釈されるよう修正
- `<? php` と解釈されて構文エラーになったり `<?php` という文字列と解釈されたりしていた

## nikic: Use ZEND_HASH_FOREACH APIs in a few more places
- https://github.com/php/php-src/commit/290e520c03ca54185ee98b2fc5807c6d018a38db
- [7.4~]
- ZEND_HASH_FOREACH の利用箇所を追加

## dstogov: Replace deprecated conditions by ZEND_ASSERT.
- https://github.com/php/php-src/commit/c1b90889038f115c793f489042f9b6ed569f7a34
- [7.4~]
- 一部分岐条件を ZEND_ASSERT に置き換え
- あとなんか do-while(0) のイディオム使う箇所が増えてる

## remicollet: move NEWS entry [ci skip]
- https://github.com/php/php-src/commit/bd0514913b7f803858b062919af22ac16fe5cacc
- [7.2~]
- NEWS で[先の修正](#nikic-fixed-bug-78297)への言及を 7.2.22 用から 7.2.21 用の位置へ移動

## cmb69: Update NEWS [ci skip]
- https://github.com/php/php-src/commit/956ecc2ce5ccf4f2f286588d7428a19c8e42fb6d
- [7.3~]
- NEWS で[先の修正](#nikic-fixed-bug-78297)への言及を 7.3.9 用から 7.3.8 用の位置へ移動

## Girgias: Convert short tag to standard tag in Zend test file
- https://github.com/php/php-src/commit/e7e66d527554df6c5ba9061731487a3e8319bcb7
- [7.3~]
- テストでショートタグの使われていた箇所の修正

## nikic: Fix bug [#52752](https://bugs.php.net/bug.php?id=52752) by not using mmap() to lex files
- https://github.com/php/php-src/commit/5161cebe28cca36fa7f7989b5a799290a3f1eb6a
- [7.4~]
- PHP スクリプトの読み込み時、そのスクリプトへ同時に書き込みが発生すると SIGBUS が投げられる問題の修正
- 字句解析器で mmap() を使わず読むようになった

## nikic: Remove ZEND_HANDLE_FD
- https://github.com/php/php-src/commit/e08cc4d9215c26e0e86e05a9ca7f90cb9b74e8bc
- [7.4~]
- stream の実装で、使われていないハンドルタイプ ZEND_HANDLE_FD の削除

## nikic: Remove unused \_get_zval_ptr_cv_BP_VAR_UNSET function
- https://github.com/php/php-src/commit/a0f450a023a9b94e5a821bd67a11a8af573990df
- [7.4~]
- 使われていない関数 \_get_zval_ptr_cv_BP_VAR_UNSET の削除

## dstogov: Slit INC/DEC opcodes into hot/cold parts and remove specialized versioins for LONG_OR_DOUBLE.
- https://github.com/php/php-src/commit/349a388b90e767da9128efe6da0e4ebf5c752092
- [7.4~]
- VM のインクリメント / デクリメントオペコードの実装をホットコードとコールドコードへ分け、LONG_OR_DOUBLE の特化バージョンを削除

## nikic: Introduce zend_stream_init_fp() API
- https://github.com/php/php-src/commit/46faf8f018e95de27873dbcf7c094af18c4c08e4
- [7.4~]
- ZEND API zend_stream_init_fp() の実装
- リファクタリング用っぽいかな

## nikic: Introduce zend_stream_init_filename()
- https://github.com/php/php-src/commit/49bac9b77bc9cacc0f984092d226e951ae336b43
- [7.4~]
- ZEND API zend_stream_init_filename() の実装
- リファクタリング用っぽいかな