php-master-changes 2019-07-17

今日は不要コードの削除、opcache の最適化処理の修正、ドキュメントの更新、VM の最適化とリファクタリング、ビルドシステムのリファクタリング、zend_stream の実装修正、include で多重に fstat() を呼ぶのを避けるようにする修正、stream_copy_to_stream() でクラッシュする場合がある問題の修正があった！

# 2019-07-17
## nikic: Drop free_filename field from zend_file_handle
- https://github.com/php/php-src/commit/e0eca262852dba1a78afcde64a49126c81fead1a
- [7.4~]
- zend_file_handle の free_filename フィールドが常時 0 で使われていなかったので削除

## nikic: Remove ZEND_HANDLE_MAPPED
- https://github.com/php/php-src/commit/b317f0eb59eb1265cbc7ed3eb00f757e2ff65e4d
- [7.4~]
- ZEND_HANDLE_MAPPED を削除し zend_stream を単純化

## dstogov: Provide type info
- https://github.com/php/php-src/commit/a6812c0c846f2465f62b63c974ef9794701d87cf
- [7.4~]
- ext/opcache で、関数呼び出し時の引数渡し / 三項演算子の結果値取得演算子の命令の最適化において、オペランドのデータタイプ指定が欠けていた箇所があったのを修正

## petk: Remove unused build checks
- https://github.com/php/php-src/commit/63d6a2b697f5594b03549256661af97b3b6451a3
- ビルドシステムで、使われていないチェックの削除

## petk: Update changelog
- https://github.com/php/php-src/commit/a520974740e5b694ca2907ce088d314ff776b9ba
- [7.4~]
- UPGRADING.INTERNALS の更新

## dstogov: Separate "cold" and common unspecialized code
- https://github.com/php/php-src/commit/ee5828205ea2fbebac5da1f3c1ded1c9b5c512e0
- [7.4~]
- VM のコールドコードを分離しコードの共通化

## petk: Simplify functions checks in m4
- https://github.com/php/php-src/commit/476339646ca08af7ac627b1df6eebd8621793b5f
- [7.4~]
- ビルドシステムで、関数の存在チェックの単純化

## petk: Fix typo
- https://github.com/php/php-src/commit/e7fcc45c4340d7ee63af3d6b5a2e4da32fa6f85b
- [7.4~]
- typo の修正

## dstogov: Added specialization for comparison instructions and QM_ASSIGN
- https://github.com/php/php-src/commit/918f09f72a05929316702a407d9fd739929c1d35
- [7.4~]
- 比較と三項演算子のハンドラの最適化

## nikic: Avoid double buffering in Zend streams
- https://github.com/php/php-src/commit/a986e70991057785cd3e5f4235215cb933351b4d
- [7.4~]
- zend_stream について、PHP のストリーム実装側との二重バッファリングを行わないよう修正

## dstogov: Remove old hack
- https://github.com/php/php-src/commit/6fbab09ef042df66153e4feaae8e07091d3d173e
- [7.4~]
- zend_vm_gen.php で、不要コードの削除

## nikic: Avoid unused fstat() call
- https://github.com/php/php-src/commit/5a90dc77b8f244f603082aea022fadc0ce2c009c
- [7.4~]
- zend_stream の実装で、不要な fstat() 呼び出しをなるべく避けるよう修正
- PHP ストリームではファイルサイズが信用できない、ということらしいが、すぐ後にリバートしている

## nikic: Revert "Avoid unused fstat() call"
- https://github.com/php/php-src/commit/856c5d2837eac45567a4c83b22a5281f5d963d5c
- [7.4~]
- ↑のリバート、気が変わったもよう

## nikic: Use reported fstat filesize for PHP streams
- https://github.com/php/php-src/commit/c2c5c9a973559b7ba9f84337c5f8078e59e98a91
- [7.4~]
- zend_stream の実装で、PHP ストリームについては逆に fstat() のファイルサイズを信用するよう修正

## dstogov: Avoid extra specialization for cold opcodes
- https://github.com/php/php-src/commit/b30e4a5aa62f57ef51af75e51260802999f870ab
- [7.4~]
- コールドコードのオペコードハンドラでの余分な VM コード生成を避けるよう修正

## nikic: Avoid duplicate fstat() for includes
- https://github.com/php/php-src/commit/1221293a9884c75ac5105b04406246b978d868e1
- [7.4~]
- include で多重に fstat() を呼ぶのを避けるよう修正

## nikic: Fixed bug [#69100](https://bugs.php.net/bug.php?id=69100)
- https://github.com/php/php-src/commit/b864abfe23fde5d79a303519674ba83062f89361
- [7.2~]
- ファイルから SSL ストリームへの無効な長さ指定の [stream_copy_to_stream()](https://www.php.net/manual/ja/function.stream-copy-to-stream.php) で SIGBUS が投げられる問題の修正