php-master-changes 2019-08-13

この日はコンパイラの実装修正、インデントの修正、gen_stub.php の修正、arginfo の PHP スタブへの移行、循環参照 GC のバグ修正、ユーザ定義のストリームフィルタを通る include が動作しなくなっていた問題の修正、opcache での @ 利用による Assertion Failure の修正、不要コードの削除、ロケールキーを GC_MAKE_PERSISTENT_LOCAL でマークする修正、get_cfg_var() の実装修正、ドキュメントの修正があった！

# 2019-08-13
## nikic: Intern alias old_name early
- https://github.com/php/php-src/commit/f3fdf570b3cd3df14af3d698950d341623a97088
- [7.2~]
- コンパイラの実装で、use A as B の A の intern 化を早期に行うよう修正
- なんか問題あったから直してるんだろうくらいでよくわかってない

## cmb69: Fix WS
- https://github.com/php/php-src/commit/ce646357bf8f58f7fc52c5ce77c5b9a4e5c207fb
- [7.4~]
- win32/win32util.c で、インデントのホワイトスペースをタブへ置き換え

## duncan3dc: Add a prefix to differeniate between class methods and functions
- https://github.com/php/php-src/commit/288442716e9dd0b71fc888582cc512cb28eaf212
- gen_stub.php で、クラスメソッドと関数を区別するためのプレフィクスの追加

## duncan3dc: Update the date class arginfo the new format
- https://github.com/php/php-src/commit/06aa2ae993df2b6e086c04fbc4f1ab2784350105
- ext/date で、arginfo にクラス用 prefix の追加

## nikic: Don't destroy properties array with unset GC type
- https://github.com/php/php-src/commit/18f2918a0fcf66562a5e7d964188c188660e9728
- [7.2~]
- オブジェクトのデストラクタで、プロパティ配列について GC type が IS_NULL でなければ破棄しないよう修正
- よく分かってない！

## iNem0o: add syslog arginfo stubs
- https://github.com/php/php-src/commit/fb363f7f00dd3a9277d588f1fa71f972122682cd
- syslog 用関数の arginfo を PHP スタブへ移行

## nikic: Fixed bug [#78406](https://bugs.php.net/bug.php?id=78406)
- https://github.com/php/php-src/commit/b01824e596dd11d075d1f2c9af364d2fdabc4d17
- [7.4~]
- ユーザ定義のストリームフィルタを通る include が動作しなくなっていた問題の修正

## nikic: Fixed bug [#77191](https://bugs.php.net/bug.php?id=77191)
- https://github.com/php/php-src/commit/4eeb41d1ea91fe7a44759f788ad5920eac8df0ef
- [7.2~]
- ext/opcache で、@ 利用により Assertion failure でクラッシュする問題の修正

## iNem0o: Add crypt() function's stub
- https://github.com/php/php-src/commit/ccf79547af849d6e32e1186693d474091239696a
- crypt() の arginfo を PHP スタブへ移行

## nikic: Generalize delref assertion
- https://github.com/php/php-src/commit/7bd2b9d2e6ae5ab85f01311fab585b0e4e56acd4
- [7.4~]
- 循環参照 GC の実装で、参照カウントのアサーションをまとめた

## nikic: Don't include non-refcounted structures in GC count
- https://github.com/php/php-src/commit/f0f3fe0b6c2eb93ff01058f389e6ae2a93ea20d4
- 循環参照 GC の実装で、 non-refcounted なデータを GC しましたカウンタへ含めないよう修正
- [PHP7 で参照カウントしない値が増えた](http://nikic.github.io/2015/05/05/Internal-value-representation-in-PHP-7-part-1.html)
- が、[循環参照 GC の実装は 5.3 から入っていた](https://www.php.net/manual/ja/features.gc.collecting-cycles.php)
- 互換性のため？に参照カウントしなくなってからも循環参照 GC でのカウントでは謎に含めていたのを、もういいだろ、で含めなくした感じかな

## nikic: Remove removed nested data from GC count
- https://github.com/php/php-src/commit/72b7d99d0db162a7118a36431f99a60a4fb39ef8
- [7.4~]
- 循環参照 GC の実装で、removed nested data を GC しましたカウンタへ含めないよう修正
- そんなによく分かってない！けどたぶん gc_collect_cycles() の返り値が誤っていたみたいな話と思う！
- [gc_remove_nested_data_from_buffer() の追加時期](https://github.com/php/php-src/commit/50a76860bd7fa0daacf6db9b869b204344811b8b)までは追った

## nikic: Adjust GC count in SPL test
- https://github.com/php/php-src/commit/bc690d63f6d2f10bc1cff89cb4dfd7589c3b012c
- [7.4~]
- ext/spl で、テストの期待出力の GC しましたカウンタの値を修正にあわせて調整、かな

## stephenreay: Added zip arginfo stubs
- https://github.com/php/php-src/commit/d4e5e63b6c525fb91af1d88aeeeab7298d08c620
- ext/zip で、arginfo を PHP スタブへ移行

## cmb69: Remove dead code
- https://github.com/php/php-src/commit/eb25176ab3130a2f158de284d8e316a9e1f9c840
- [7.4~]
- ext/zip で、不要コードの削除

## nikic: Mark PCRE locale key as local persistent
- https://github.com/php/php-src/commit/201729840cc57c622c0a88823ced8ed73054eb27
- ext/pcre で、ロケールキーを GC_MAKE_PERSISTENT_LOCAL でマーク

## nikic: Don't return persistent string from get_cfg_var()
- https://github.com/php/php-src/commit/fdfc7ea9320c25ccca519095642bade6784caf48
- get_cfg_var() の実装で、persistent string を返さないよう修正
- スレッドセーフでなくなるから、らしい

## Islam Israfilov: Add inet_ntop and inet_pton stubs
- https://github.com/php/php-src/commit/1dc88ff67e64a2fdd6ec7807758d7b88d577b4f9
- inet_ntop() と inet_pton() の arginfo を PHP スタブへ移行

## nikic: Fixed bug [#72530](https://bugs.php.net/bug.php?id=72530)
- https://github.com/php/php-src/commit/60a7e60b61b8e4a3d455974c83f76a26546ce117
- [7.4~]
- 循環参照 GC の実装で、一部のデストラクタを持つオブジェクトについて use after free が起きる問題の修正
- GC で起動したデストラクタの処理内で更に GC 対象が増えるみたいなケースへのワークアラウンドを入れてる感じかな
- とりあずデストラクタの処理は呼ぶが回収は後回し、みたいな

## nikic: Add myself to extension maintainer list
- https://github.com/php/php-src/commit/b0394ba0e54a2c2565fe80cc1f949b1a761c15d4
- 幾つかの拡張のメンテナに自分の名前を追加、今まで載せてなかったんかーい