1
0
mirror of https://github.com/php/php-src.git synced 2026-04-28 02:33:17 +02:00
Commit Graph

110573 Commits

Author SHA1 Message Date
Andy McNeice 5bbf0c698f added basic test for UConverter::setSourceEncoding() 2019-02-19 03:18:26 +01:00
Andy McNeice d194ceb0c2 added basic test for UConverter::getDestinationEncoding() 2019-02-19 03:15:01 +01:00
Andy McNeice 6d9a4f11e6 added basic test for UConverter::getSourceEncoding() 2019-02-19 03:09:49 +01:00
Pedro Magalhães 40278879fd UPGRADING entry for pcntl_unshare [skip ci] 2019-02-18 19:58:56 +00:00
Andrea Faulds 5ee81e0b9d run-tests.php: fix typo 2019-02-18 20:32:16 +01:00
Pedro Magalhães bc54e59a3a Implement pcntl_unshare 2019-02-18 19:20:18 +00:00
Peter Kokot 3068a32cd0 Sync header and footer with the rest of the files
- Local variables for editors have been removed
- Copyright year ranges can be also simplified
2019-02-18 18:16:07 +01:00
Tyson Andre da3316ff0f Fix typos in code comments in Zend/ [skip ci] 2019-02-18 17:56:28 +01:00
Tyson Andre 8588a45851 Fix arginfo for tidy's global functions
See https://secure.php.net/tidy_getopt , etc.

I can't find any other obvious incorrect reflection.
2019-02-18 17:49:02 +01:00
Tyson Andre 9249d82019 Fix typos in code comments [skip ci] 2019-02-18 17:48:12 +01:00
Tyson Andre cb4c74dfe3 Fix a typo in the error messages for FFI [skip ci] 2019-02-18 17:47:41 +01:00
Dmitry Stogov 5661feb1ef Fixed bug #77632 (FFI Segfaults When Called With Variadics) 2019-02-18 18:11:55 +03:00
Dmitry Stogov 2ed013c38a Use "quick" macro variants for known argument numbers 2019-02-18 17:52:33 +03:00
Andrea Faulds 39792f5bb7 run-tests.php: experimental parallel testing support 2019-02-18 14:58:53 +01:00
Nikita Popov 709b8aaf9f Merge branch 'PHP-7.3' into PHP-7.4 2019-02-18 14:04:30 +01:00
Nikita Popov 3b3fafa637 Merge branch 'PHP-7.2' into PHP-7.3 2019-02-18 14:04:15 +01:00
Nikita Popov 928c42211f Make MADV_HUGEPAGE conditional on USE_ZEND_ALLOC_HUGE_PAGES
There have been multiple reports of large slowdowns due to the
use of MADV_HUGEPAGE, so make it conditional on
USE_ZEND_ALLOC_HUGE_PAGES, just like MAP_HUGETLB already is.
2019-02-18 14:03:07 +01:00
Dmitry Stogov c9ffae1bec Fixed bug #77633
Add a new class flag to inherit get_iterator() when implementing
the Iterator/IteratorAggregate interfaces and use it for
ArrayIterator.
2019-02-18 13:47:44 +01:00
Nikita Popov 7d0d94e230 Use mremap in zend_mm_chunk_extend if available
As suggested by https://twitter.com/grsecurity. This saves an
mmap+munmap cycle in case the mapping cannot be extended in-place.
2019-02-18 12:06:59 +01:00
Dmitry Stogov 3ef9f23fce Fixed use-after-free during preloading, when q class with unresolved constant uses a preloaded trait. 2019-02-18 13:46:13 +03:00
Nikita Popov 05363890a0 Release constant names during preloading 2019-02-18 11:15:32 +01:00
Nikita Popov b7b3a600cb Don't suppress errors during in preload testing 2019-02-18 11:03:38 +01:00
Nikita Popov 2f3d61971f Don't catch opcache_compile_file failures during preloading
Compiler failures are not side-effect free, they may leave behind
parts of the file that were successfully compiled before the
failure occurred. The preloading code is not prepared to deal with
this.
2019-02-18 11:03:38 +01:00
Nikita Popov cc0e01a2fa Handle exception patterns in bless_tests.php 2019-02-18 11:03:38 +01:00
Tom Van Herreweghe 5b15908ed7 Test the warning for giving full path to dl() 2019-02-17 20:22:23 +01:00
MarkBaker cf0dd817f2 Tests for XMLWriter write cdata and raw 2019-02-17 19:43:19 +01:00
MarkBaker a84227650a SplDoublyLinkedList Iterating a DLL by reference shouldn't be permitted 2019-02-17 19:35:13 +01:00
MarkBaker 40a26587e8 Range of new tests for xmlreader functionality and exceptions/errors 2019-02-17 19:23:01 +01:00
Peter Kokot 90054c1a69 Remove unused --copy option from the makedist
The --copy option was once used with Automake. It has been
removed via 128119b9ab.
2019-02-16 21:48:45 +01:00
Peter Kokot e0c88039b6 Move some scripts from root directory to scripts/dev/
At the time of this commit, there is a dedicated folder for development
related tools and such scripts might fit better there to not bloat the
project root directory too much.

Move snapshot to scripts/dev/snapshot
2019-02-16 16:58:48 +01:00
Andrea Faulds 6662fb5c8f run-tests.php: fix all tab-space indentation inconsistency 2019-02-16 01:54:16 +01:00
Andrea Faulds 41fbeb6c56 run-tests.php: move all top-level code into a function
Prerequisite for parallelised testing:
https://github.com/php/php-src/pull/2822

Quoth Nikita @
https://github.com/php/php-src/pull/3789#issuecomment-462724550:

> @hikari-no-yume Please feel free to directly commit the first commit
> (to PHP-7.4). That's probably a big and unnecessary source of
> conflicts, and makes reviewing harder as well.
2019-02-16 01:05:04 +01:00
Christoph M. Becker f1588d841c Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
  Fix #77626: Persistence confusion in php_com_import_typelib()
2019-02-15 18:57:17 +01:00
Christoph M. Becker 767fa3dc02 Fix #77626: Persistence confusion in php_com_import_typelib()
We apply only the most minimal fix here, and will cater to the
unnecessary re-allocation for PHP-7.4.

We don't need to add a regression test, since bug39606.phpt and
bug77621.phpt already show the misbehavior.
2019-02-15 18:56:24 +01:00
Nikita Popov e15d657c1a Link anonymous classes during preloading 2019-02-15 17:50:40 +01:00
Nikita Popov 970dcd240f Don't assume that all includes have been executed 2019-02-15 17:36:40 +01:00
Nikita Popov 1b31b45f6f Set filename & lineno information for preload inheritance error 2019-02-15 17:03:57 +01:00
Nikita Popov 92fae00ee0 Handle bailouts during preload linking 2019-02-15 16:56:32 +01:00
Nikita Popov a9497cecf3 Fix preload auto globals handling
We need to compute the auto globals mask before EG(symbol_table)
is cleaned out.
2019-02-15 16:37:12 +01:00
Christoph M. Becker 0520eb8772 Deprecate marking typelibs to load constants case-insensitively
This is an amendment to commit fae2246[1] which missed this opportunity
to still introduce case-insensitive constants without a deprecation
warning.

[1] <http://git.php.net/?p=php-src.git;a=commit;h=fae22461f95dfe8153fb74a53b9c5daeec47387f>
2019-02-15 16:24:54 +01:00
Dmitry Stogov d4bef4ce7b Avoid useless code duplication, because of unused specialization 2019-02-15 17:49:39 +03:00
rjhdby d6a53ed5e0 Unify clone method error message 2019-02-15 15:08:02 +01:00
Dmitry Stogov 78a1d76962 Reduce slow code size 2019-02-15 17:03:04 +03:00
Nikita Popov e6e9bea257 Avoid uninitialized entries in properties_info_table
Also don't place it into xlat, there's only ever one user.
2019-02-15 14:43:37 +01:00
Christoph M. Becker fae22461f9 Deprecate case-insensitive constants via typelib import
As of PHP 7.3.0, case-insensitive constants are deprecated.  We catch
up on this with regard to ext/com_dotnet, which allows to import
constants from typelibs, by triggering a deprecation notice whenever
`com_load_typelib()` is called with `$case_sensitive` being `false`,
and whenever `com.autoregister_casesensitive` is set to `false`,
regardless of whether there are actually constants in the typelib which
would be imported.
2019-02-15 13:07:56 +01:00
Nikita Popov ade9d5e95b Suppress zend_throw_error during preload constant resolution
Related to bug #77615.
2019-02-15 13:03:46 +01:00
Nikita Popov c15007956d Add preloading support for typed properties
During preloading, try to resolve all property types to CEs. Add a
flag that tracks this. If not all property types can be resolved,
then the class is not eligible for preloading.
2019-02-15 12:41:45 +01:00
Nikita Popov a2e9534798 Add a --preload testing mode to run-tests.php
Not intended for general use, it has many false positives.
2019-02-15 11:23:23 +01:00
Nikita Popov 3cafa7f4df Assign (un)serialize_func during compilation
This avoids writing this cache at runtime, which is illegal if
preloading is used.

Not every serialize/unserialize function actually belongs to the
Serializable interface, but I think it's not a problem to assign
these anyway -- whether they are used ultimately depends on whether
Serializable is implemented.

Alternatively it might make sense to just drop these entirely. I
don't think this is performance critical functionality.
2019-02-15 11:20:28 +01:00
Nikita Popov ffc7e953ea properties_info_table may be in arena or shm
For immutable classes it should be shm instead of in arena.

Related to bug #77615.
2019-02-15 10:27:30 +01:00