summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Document .dtor_obj and .free_objlevim/document-dtor-freeLevi Morrison2021-01-311-0/+9
| | | | | I've pestered Nikita at least twice for these semantics, so I figured I should document it in source.
* Merge branch 'PHP-8.0'Christoph M. Becker2021-01-282-1/+8
|\ | | | | | | | | * PHP-8.0: Add missing stub for SodiumException
| * Add missing stub for SodiumExceptionChristoph M. Becker2021-01-282-1/+8
| | | | | | | | Closes GH-6649.
* | Merge branch 'PHP-8.0'Remi Collet2021-01-281-4/+6
|\ \ | |/ | | | | | | | | | | * PHP-8.0: NEWS NEWS Fix #80682 opcache doesn't honour pcre.jit option
| * NEWSRemi Collet2021-01-281-0/+2
| |
| * Merge branch 'PHP-7.4' into PHP-8.0Remi Collet2021-01-281-4/+6
| |\ | | | | | | | | | | | | | | | * PHP-7.4: NEWS Fix #80682 opcache doesn't honour pcre.jit option
| | * NEWSRemi Collet2021-01-281-0/+3
| | |
| | * Fix #80682 opcache doesn't honour pcre.jit optionRemi Collet2021-01-281-4/+6
| | |
* | | Remove useless zend_update_class_constants() callsDmitry Stogov2021-01-281-10/+0
| | |
* | | Move optimizer into coreNikita Popov2021-01-2839-107/+104
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This only moves the files, adjusts the build system, exports APIs and does minor fixups to make sure the code builds. This does not yet try to make the optimizer usable independently of opcache. Closes GH-6642.
* | | Merge branch 'PHP-8.0'Nikita Popov2021-01-282-2/+2
|\ \ \ | |/ / | | | | | | | | | * PHP-8.0: Fix stub for Serializable::serialize()
| * | Fix stub for Serializable::serialize()Michael Voříšek2021-01-282-2/+2
| | | | | | | | | | | | This method may also return null.
* | | Merge branch 'PHP-8.0'Nikita Popov2021-01-283-2/+34
|\ \ \ | |/ / | | | | | | | | | * PHP-8.0: Observe fake closures
| * | Observe fake closuresSammy Kaye Powers2021-01-282-1/+33
| | | | | | | | | | | | Closes GH-6607.
* | | Merge branch 'PHP-8.0'Stanislav Malyshev2021-01-271-16/+0
|\ \ \ | |/ / | | | | | | | | | * PHP-8.0: Rm unneeded function
| * | Rm unneeded functionStanislav Malyshev2021-01-271-16/+0
| | |
* | | Merge branch 'PHP-8.0'Stanislav Malyshev2021-01-270-0/+0
|\ \ \ | |/ / | | | | | | | | | * PHP-8.0: Rm unneeded function
| * | Merge branch 'PHP-7.4' into PHP-8.0Stanislav Malyshev2021-01-270-0/+0
| |\ \ | | |/ | | | | | | | | | * PHP-7.4: Rm unneeded function
| | * Merge branch 'PHP-7.3' into PHP-7.4Stanislav Malyshev2021-01-271-16/+0
| | |\ | | | | | | | | | | | | | | | | * PHP-7.3: Rm unneeded function
| | | * Rm unneeded functionStanislav Malyshev2021-01-271-16/+0
| | | |
* | | | Merge branch 'PHP-8.0'Stanislav Malyshev2021-01-268-29/+39
|\ \ \ \ | |/ / / | | | | | | | | | | | | * PHP-8.0: Alternative fix for bug 77423
| * | | Merge branch 'PHP-7.4' into PHP-8.0Stanislav Malyshev2021-01-268-28/+38
| |\ \ \ | | |/ / | | | | | | | | | | | | * PHP-7.4: Alternative fix for bug 77423
| | * | Merge branch 'PHP-7.3' into PHP-7.4Stanislav Malyshev2021-01-268-28/+38
| | |\ \ | | | |/ | | | | | | | | | | | | * PHP-7.3: Alternative fix for bug 77423
| | | * Alternative fix for bug 77423Christoph M. Becker2021-01-268-28/+38
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | That bug report originally was about `parse_url()` misbehaving, but the security aspect was actually only regarding `FILTER_VALIDATE_URL`. Since the changes to `parse_url_ex()` apparently affect userland code which is relying on the sloppy URL parsing[1], this alternative restores the old parsing behavior, but ensures that the userinfo is checked for correctness for `FILTER_VALIDATE_URL`. [1] <https://github.com/php/php-src/commit/5174de7cd33c3d4fa591c9c93859ff9989b07e8c#commitcomment-45967652>
* | | | Merge branch 'PHP-8.0'Dmitry Stogov2021-01-261-0/+8
|\ \ \ \ | |/ / / | | | | | | | | | | | | * PHP-8.0: Fixed observer API and JIT compatibility
| * | | Fixed observer API and JIT compatibilityDmitry Stogov2021-01-261-0/+8
| | | |
* | | | Merge branch 'PHP-8.0'Christoph M. Becker2021-01-262-0/+66
|\ \ \ \ | |/ / / | | | | | | | | | | | | * PHP-8.0: Fix #70091: Phar does not mark UTF-8 filenames in ZIP archives
| * | | Merge branch 'PHP-7.4' into PHP-8.0Christoph M. Becker2021-01-263-0/+67
| |\ \ \ | | |/ / | | | | | | | | | | | | * PHP-7.4: Fix #70091: Phar does not mark UTF-8 filenames in ZIP archives
| | * | Fix #70091: Phar does not mark UTF-8 filenames in ZIP archivesChristoph M. Becker2021-01-263-0/+67
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The default encoding of filenames in a ZIP archive is IBM Code Page 437. Phar, however, only supports UTF-8 filenames. Therefore we have to mark filenames as being stored in UTF-8 by setting the general purpose bit 11 (the language encoding flag). The effect of not setting this bit for non ASCII filenames can be seen in popular tools like 7-Zip and UnZip, but not when extracting the archives via ext/phar (which is agnostic to the filename encoding), or via ext/zip (which guesses the encoding). Thus we add a somewhat brittle low-level test case. Closes GH-6630.
* | | | Merge branch 'PHP-8.0'Christoph M. Becker2021-01-260-0/+0
|\ \ \ \ | |/ / / | | | | | | | | | | | | * PHP-8.0: Update version
| * | | Merge branch 'PHP-7.4' into PHP-8.0Christoph M. Becker2021-01-260-0/+0
| |\ \ \ | | |/ / | | | | | | | | | | | | * PHP-7.4: Update version
| | * | Update versionChristoph M. Becker2021-01-261-3/+3
| | | | | | | | | | | | | | | | That appears to have been forgotten for a while.
* | | | Merge branch 'PHP-8.0'Dmitry Stogov2021-01-263-11/+14
|\ \ \ \ | |/ / / | | | | | | | | | | | | * PHP-8.0: Allow observer handlers disabling optimization in RETURN opcode handler, that may cause loss value of returned local variable.
| * | | Allow observer handlers disabling optimization in RETURN opcode handler, ↵Dmitry Stogov2021-01-263-11/+14
| | | | | | | | | | | | | | | | that may cause loss value of returned local variable.
* | | | Remove unused mmap member in phpdbg_file_sourceNikita Popov2021-01-261-3/+0
| | | |
* | | | Merge branch 'PHP-8.0'Dmitry Stogov2021-01-262-2/+41
|\ \ \ \ | |/ / / | | | | | | | | | | | | * PHP-8.0: Skip dummy frames allocated on CPU stack of zend_call_function(). (Usage of "current_observed_frame" varible looks unsafe to me).
| * | | Skip dummy frames allocated on CPU stack of zend_call_function().Dmitry Stogov2021-01-262-2/+41
| | | | | | | | | | | | | | | | (Usage of "current_observed_frame" varible looks unsafe to me).
* | | | Merge branch 'PHP-8.0'Nikita Popov2021-01-262-6/+6
|\ \ \ \ | |/ / / | | | | | | | | | | | | * PHP-8.0: Fix VAR return type verification
| * | | Fix VAR return type verificationNikita Popov2021-01-262-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We should also set retval_ref when de-indirecting. Otherwise the retval_ref != retval_ptr comparison below may incorrect assume that we're returning a reference. I don't have a reliable reproducer for this issue, but it sometimes appears in certain configurations in arrow_functions/007.phpt in conjunction with other changes.
* | | | Fix proptable canonicalization bypass in ArrayObjectNikita Popov2021-01-262-174/+179
| | | | | | | | | | | | | | | | | | | | | | | | When an ArrayObject wraps an object, we should be using the proptable canonicalilzation rules, which require all keys to be strings.
* | | | Add missing resource key warning for unset()Nikita Popov2021-01-263-0/+43
| | | | | | | | | | | | | | | | | | | | It was present on other operations, including isset(), but was missing for unset().
* | | | Add support for generating class entries from stubsMáté Kocsis2021-01-2648-295/+1300
| | | | | | | | | | | | | | | | | | | | | | | | Closes GH-6289 Co-authored-by: Nikita Popov <nikita.ppv@gmail.com>
* | | | Distinguishing opcache SHM on stats tools for MacDavid CARLIER2021-01-261-7/+15
| | | | | | | | | | | | | | | | Closes GH-6628.
* | | | Merge branch 'PHP-8.0'Christoph M. Becker2021-01-252-2/+2
|\ \ \ \ | |/ / / | | | | | | | | | | | | * PHP-8.0: Fix #75850: Unclear error message wrt. __halt_compiler() w/o semicolon
| * | | Merge branch 'PHP-7.4' into PHP-8.0Christoph M. Becker2021-01-253-2/+6
| |\ \ \ | | |/ / | | | | | | | | | | | | * PHP-7.4: Fix #75850: Unclear error message wrt. __halt_compiler() w/o semicolon
| | * | Fix #75850: Unclear error message wrt. __halt_compiler() w/o semicolonChristoph M. Becker2021-01-253-2/+6
| | | | | | | | | | | | | | | | | | | | | | | | We add the failure reason to the error message. Closes GH-6638.
* | | | Merge branch 'PHP-8.0'Nikita Popov2021-01-252-10/+38
|\ \ \ \ | |/ / / | | | | | | | | | | | | * PHP-8.0: Improve switch continue warning
| * | | Improve switch continue warningNikita Popov2021-01-252-10/+38
| | | | | | | | | | | | | | | | | | | | Don't suggest "continue N+1" if there is no wrapping loop. The resulting code would be illegal.
* | | | Remove unnecessary TRUE/FALSE defines in tidyNikita Popov2021-01-251-10/+2
| | | | | | | | | | | | | | | | Instead use standard true/false.
* | | | Merge branch 'PHP-8.0'Christoph M. Becker2021-01-254-9/+36
|\ \ \ \ | |/ / / | | | | | | | | | | | | * PHP-8.0: Fix #53251: bindtextdomain with null dir doesn't return old value