この日は AST の行番号管理の修正、重複コードをまとめる/削除する等のリファクタリング、新しいカスタムオブジェクトシリアライゼーションの実装、ReflectionClass::getMethods() に null を渡すと空配列を返す問題の修正、mysqli が unbuffered クエリでメモリリークする問題の修正、テストの微修正があった!
2019-03-22
nikic: Switch to bison location tracking
- https://github.com/php/php-src/commit/e528762c1c59bc0bd0bd6d78246c14269630cf0f
- [7.4~]
- コンパイラで、AST の行番号管理を bison の location tracking へ移行
- zend_ast_loc というのへ情報を詰めてる
rjhdby: Deduplicate code in zend_builtin_functions.c
- https://github.com/php/php-src/commit/5456a6ea92243d6028ea2012407dbef557113215
- [7.4~]
- 重複コードをまとめるリファクタリング、class_exists() / interface_exists() / trait_exists() とか get_declared_classes() / get_declared_interfaces() とか
rjhdby: Make zend_hash_sort() return void
- https://github.com/php/php-src/commit/e86cdce549c9e81847584d2caa2dff7f89eac682
- success しか返さない zend_hash_sort() を void にして呼び出し側のチェックも削除
nikic: Remove HAVE_PCRE/HAVE_BUNDLED_PCRE checks
- https://github.com/php/php-src/commit/e7e2056d1a993a01c9d57fb2261066855d282d8f
- [7.4~]
- PCRE は常にあるので散在する HAVE_PCRE/HAVE_BUNDLED_PCRE のチェックを削除
nikic: Implement new custom object serialization mechanism
- https://github.com/php/php-src/commit/d373c11e710b525feb6373629e3d1ebffef2dd5b
- [7.4~]
- PHP RFC: New custom object serialization mechanism の実装
nikic: Fixed bug #77772
- https://github.com/php/php-src/commit/da35fa2cb8d454c8e797067e28e647030a5fe5df
- [7.2~]
- ext/reflection で、ReflectionClass::getMethods() に null を渡しても意味のある動作をしない(空配列を返す)問題の修正
- 任意引数なので null だと渡さないのと同じ扱いか、と思いきや 0 扱いになる
- 元の挙動に意味ないんで BC 気にしないでスッと直しちゃうね、らしい
nikic: Fixed bug #77773
- https://github.com/php/php-src/commit/30ddfd49edbd8066cc0a18a557e3de30c2397d12
- [7.3~]
- ext/mysqli で、unbuffered クエリでメモリリークする問題の修正
- #77308 からの話
remicollet: ensure pcre.jit=1 for these tests
- https://github.com/php/php-src/commit/2e9dccef78d169be9a4a37c813e0b5d624bd5ac7
- [7.2~]
- PCRE JIT 有効が前提のテストで、INI セクション使って pcre.jit=1 を保証するよう修正