]>
granicus.if.org Git - php/log
Christoph M. Becker [Fri, 10 Jul 2020 09:28:28 +0000 (11:28 +0200)]
Merge branch 'PHP-7.4'
* PHP-7.4:
Fix skip reasons
Christoph M. Becker [Fri, 10 Jul 2020 09:22:07 +0000 (11:22 +0200)]
Fix skip reasons
These tests fail on Windows for different reasons, but not because
symlinks, links, or lstat() would not be supported on Windows
generally.
Nikita Popov [Fri, 10 Jul 2020 08:23:19 +0000 (10:23 +0200)]
Drop dead prototype
twosee [Fri, 10 Jul 2020 05:18:00 +0000 (13:18 +0800)]
Add zend_wrong_parameter_error to reduce the size of ZPP macro
Closes GH-5831.
Christoph M. Becker [Fri, 10 Jul 2020 08:10:30 +0000 (10:10 +0200)]
Merge branch 'PHP-7.4'
* PHP-7.4:
Enable symlink_link_linkinfo_is_link_* tests on Windows
Christoph M. Becker [Thu, 9 Jul 2020 08:43:20 +0000 (10:43 +0200)]
Enable symlink_link_linkinfo_is_link_* tests on Windows
We mark symlink_link_linkinfo_is_link_error2.phpt as XFAIL on Windows
ZTS. Several Windows API file system functions ignore trailing spaces
in absolute filenames after the final directory separator, which causes
`link(' ', $link)` to actually call `CreateHardLink()` which then
fails, because linking folders is not supported. However, with NTS
builds (as well as on other systems), the $target is found to not
exist, so the function fails without actually attempting to create the
link. This needs further investigation.
Nikita Popov [Fri, 10 Jul 2020 07:57:13 +0000 (09:57 +0200)]
Merge branch 'PHP-7.4'
* PHP-7.4:
enable ext/ldap/tests on azure
fix some ext/ldap/tests
Paweł Tomulik [Fri, 3 Jul 2020 10:49:25 +0000 (12:49 +0200)]
enable ext/ldap/tests on azure
Paweł Tomulik [Fri, 3 Jul 2020 10:50:40 +0000 (12:50 +0200)]
fix some ext/ldap/tests
Nikita Popov [Fri, 10 Jul 2020 07:50:12 +0000 (09:50 +0200)]
Merge branch 'PHP-7.4'
* PHP-7.4:
Fix some memory bugs in ldap.c
Nikita Popov [Fri, 10 Jul 2020 07:47:59 +0000 (09:47 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
Fix some memory bugs in ldap.c
Christoph M. Becker [Fri, 10 Jul 2020 07:29:41 +0000 (09:29 +0200)]
Mark test as XFAIL for Windows/JIT/Release builds
Ilija Tovilo [Thu, 9 Apr 2020 20:36:37 +0000 (22:36 +0200)]
Implement match expression
RFC: https://wiki.php.net/rfc/match_expression_v2
Closes GH-5371.
Dmitry Stogov [Thu, 9 Jul 2020 16:39:12 +0000 (19:39 +0300)]
Make tracing JIT to support operator overloading independently from opcache.optimization_level ini directive.
Paweł Tomulik [Fri, 3 Jul 2020 00:11:44 +0000 (02:11 +0200)]
Fix some memory bugs in ldap.c
Dmitry Stogov [Thu, 9 Jul 2020 15:54:36 +0000 (18:54 +0300)]
Fixed register allocation for tests/lang/operators/preinc_basiclong_64bit.phpt
Dmitry Stogov [Thu, 9 Jul 2020 14:24:35 +0000 (17:24 +0300)]
Bad function detection
Dmitry Stogov [Thu, 9 Jul 2020 14:24:06 +0000 (17:24 +0300)]
Fixed mysqli_fetch_row() function info
Dmitry Stogov [Thu, 9 Jul 2020 13:33:11 +0000 (16:33 +0300)]
Prevent trace recorder reenterancing
Dmitry Stogov [Thu, 9 Jul 2020 12:56:24 +0000 (15:56 +0300)]
Move assert() to right place
Dmitry Stogov [Thu, 9 Jul 2020 12:36:25 +0000 (15:36 +0300)]
Fixed tracing JIT support for extract()
George Peter Banyard [Mon, 22 Jun 2020 14:29:59 +0000 (16:29 +0200)]
Use ZPP string|array union check in PCRE extension
George Peter Banyard [Fri, 3 Jul 2020 15:43:06 +0000 (17:43 +0200)]
Voidify some ZEND_API functions
Closes GH-5805
Dmitry Stogov [Thu, 9 Jul 2020 10:40:19 +0000 (13:40 +0300)]
Merge branch 'jit-jumptable-x64'
* jit-jumptable-x64:
Use RIP-relative addressing
Align jumptables
Fix jumtable index calculation
Support JIT jumptables on x64
Christoph M. Becker [Thu, 9 Jul 2020 10:36:57 +0000 (12:36 +0200)]
Merge branch 'PHP-7.4'
* PHP-7.4:
Prevent parallel test conflicts
Christoph M. Becker [Thu, 9 Jul 2020 10:35:31 +0000 (12:35 +0200)]
Prevent parallel test conflicts
Both tests used the same folder, which could clash in case the tests
are run simultaneously.
Nikita Popov [Thu, 9 Jul 2020 09:58:33 +0000 (11:58 +0200)]
Remove FREE_UNFETCHED concept
In master normal FREE_OPs work like FREE_UNFETCHED_OP used to, so
there is no point in keeping this distinction anymore, it's just
confusing.
Nikita Popov [Thu, 9 Jul 2020 09:54:44 +0000 (11:54 +0200)]
Merge branch 'PHP-7.4'
* PHP-7.4:
Switch back to FREE_UNFETCHED_OP_DATA
Nikita Popov [Thu, 9 Jul 2020 09:54:08 +0000 (11:54 +0200)]
Switch back to FREE_UNFETCHED_OP_DATA
Some of the code paths leading to this do not fetch op data.
Hopefully this fixes the release build failure.
Dmitry Stogov [Thu, 9 Jul 2020 09:40:56 +0000 (12:40 +0300)]
Use RIP-relative addressing
Nikita Popov [Thu, 9 Jul 2020 09:13:50 +0000 (11:13 +0200)]
Merge branch 'PHP-7.4'
* PHP-7.4:
Fix bug #79599 in a different way
Revert "Fixed bug #97599 (coredump in set_error_handler)"
Nikita Popov [Thu, 9 Jul 2020 09:11:24 +0000 (11:11 +0200)]
Fix bug #79599 in a different way
Move the emission of the undefined variable notice before the
array separation.
Nikita Popov [Thu, 9 Jul 2020 08:51:30 +0000 (10:51 +0200)]
Revert "Fixed bug #97599 (coredump in set_error_handler)"
This reverts commit
ccd41e083359cf6dd264f88806dce4cc49d9358e .
This causes a large performance regression when notices are thrown
and large arrays are in scope, see bug #79794.
Derick Rethans [Thu, 9 Jul 2020 08:51:15 +0000 (09:51 +0100)]
Merge branch 'PHP-7.4'
Derick Rethans [Thu, 9 Jul 2020 08:48:35 +0000 (09:48 +0100)]
Revert "Partial fixed bug #79649 (Altering disable_functions from module init corrupts memory)"
This reverts commit
a297c09da5ad355d53a8e8ea72655a06d15b7bc7 .
Dmitry Stogov [Thu, 9 Jul 2020 08:31:53 +0000 (11:31 +0300)]
Align jumptables
Dmitry Stogov [Thu, 9 Jul 2020 08:28:48 +0000 (11:28 +0300)]
Fix jumtable index calculation
Nikita Popov [Wed, 8 Jul 2020 13:24:32 +0000 (15:24 +0200)]
Support JIT jumptables on x64
George Peter Banyard [Wed, 8 Jul 2020 16:36:46 +0000 (18:36 +0200)]
Use ZPP callable check in zend built in functions
George Peter Banyard [Wed, 8 Jul 2020 17:33:29 +0000 (19:33 +0200)]
[skip ci] Add info on how to check for PHP NULL when using the ZPP callable check
Ondřej Mirtes [Wed, 8 Jul 2020 13:26:36 +0000 (15:26 +0200)]
UPGRADING - note about ReflectionType::isBuiltin()
Closes GH-5822.
Dmitry Stogov [Wed, 8 Jul 2020 15:14:11 +0000 (18:14 +0300)]
JIT support for opcache restart
George Peter Banyard [Wed, 8 Jul 2020 13:04:41 +0000 (15:04 +0200)]
Use HashTable directly instead of zval
Dmitry Stogov [Wed, 8 Jul 2020 13:49:51 +0000 (16:49 +0300)]
Use small counter values for testing
Dmitry Stogov [Wed, 8 Jul 2020 13:33:46 +0000 (16:33 +0300)]
Fixed tracing JIT support for $http_response_header
Dmitry Stogov [Wed, 8 Jul 2020 11:09:28 +0000 (14:09 +0300)]
Use information about recorded classes for speculative FETCH_OBJ optimization
Nikita Popov [Wed, 8 Jul 2020 09:22:47 +0000 (11:22 +0200)]
Merge branch 'PHP-7.4'
* PHP-7.4:
Fix bug #79787
Nikita Popov [Wed, 8 Jul 2020 09:21:48 +0000 (11:21 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
Fix bug #79787
XXiang [Sat, 4 Jul 2020 14:12:57 +0000 (22:12 +0800)]
Fix bug #79787
Closes GH-5807.
Dmitry Stogov [Wed, 8 Jul 2020 09:02:37 +0000 (12:02 +0300)]
Change zend_get_known_property_offset() into zend_get_known_property_info() and cleanup
Christoph M. Becker [Wed, 8 Jul 2020 08:43:02 +0000 (10:43 +0200)]
[ci skip] Merge branch 'PHP-7.4'
* PHP-7.4:
Report len as -1 instead of INT_MAX
Nikita Popov [Wed, 8 Jul 2020 08:41:00 +0000 (10:41 +0200)]
Add declared properties to LibXMLError
Partially addresses bug #79804.
Christoph M. Becker [Wed, 8 Jul 2020 08:39:47 +0000 (10:39 +0200)]
[ci skip] Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
Report len as -1 instead of INT_MAX
Nikita Popov [Wed, 3 Jun 2020 08:15:54 +0000 (10:15 +0200)]
Report len as -1 instead of INT_MAX
Per docs it should be -1. And would be on 32-bit systems, but
not on 64-bit systems.
(cherry picked from commit
39111585a2f8e40e72bdc662eb8b2e3c19e93615 )
Nikita Popov [Wed, 8 Jul 2020 08:10:32 +0000 (10:10 +0200)]
Skip special function optimization for redeclared disabled functions
As pointed out on GH-5817.
Sara Golemon [Tue, 7 Jul 2020 19:35:17 +0000 (19:35 +0000)]
Merge branch 'PHP-7.4'
* PHP-7.4:
Prep for 7.2.33
Prep NEWS for 7.2.32 release
Sara Golemon [Tue, 7 Jul 2020 19:34:08 +0000 (19:34 +0000)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
Prep for 7.2.33
Prep NEWS for 7.2.32 release
Sara Golemon [Tue, 7 Jul 2020 19:33:11 +0000 (19:33 +0000)]
Merge branch 'PHP-7.2' into PHP-7.3
* PHP-7.2:
Prep for 7.2.33
Prep NEWS for 7.2.32 release
Sara Golemon [Tue, 7 Jul 2020 19:31:32 +0000 (19:31 +0000)]
Prep for 7.2.33
Sara Golemon [Tue, 7 Jul 2020 19:31:05 +0000 (19:31 +0000)]
Prep NEWS for 7.2.32 release
Dmitry Stogov [Tue, 7 Jul 2020 16:11:27 +0000 (19:11 +0300)]
More accurate reference-counter inference (with support for ext/intl/tests/bug72241.phpt)
Nikita Popov [Tue, 7 Jul 2020 14:53:00 +0000 (16:53 +0200)]
Revert "More accurate reference-counter inference"
This reverts commit
b35255ad21a4e441f2304d944014c0649e37d712 .
Temporarily revert this, because it causes a memory leak on the
ext/intl/tests/bug72241.phpt test case, because temporary arrays
are not handled correctly.
Nikita Popov [Tue, 7 Jul 2020 14:30:08 +0000 (16:30 +0200)]
Merge branch 'PHP-7.4'
* PHP-7.4:
Fixed bug #79793
Nikita Popov [Tue, 7 Jul 2020 14:24:13 +0000 (16:24 +0200)]
Fixed bug #79793
Make sure the string key is not released while throwing the
undefined index warning.
Nikita Popov [Tue, 7 Jul 2020 14:00:50 +0000 (16:00 +0200)]
Fixed bug #79791
First throw the undefined variable warning, and then set the
variable to null. Otherwise we're not guaranteed that it's
actually null afterwards.
Nikita Popov [Tue, 7 Jul 2020 13:30:43 +0000 (15:30 +0200)]
Handle dim_w undefined variable notice in JIT as well
Nikita Popov [Tue, 7 Jul 2020 13:22:46 +0000 (15:22 +0200)]
Check for undef variable exception in SEND_VAR JIT
Add a return value to zend_jit_undefined_op_helper(), so we can
check for exception based on the return value, instead of fetching
EG(exception).
Nikita Popov [Tue, 7 Jul 2020 13:09:12 +0000 (15:09 +0200)]
JIT support for undefined index/offset handling
Nikita Popov [Tue, 7 Jul 2020 12:24:39 +0000 (14:24 +0200)]
Merge branch 'PHP-7.4'
* PHP-7.4:
Fixed bug #79784
Nikita Popov [Tue, 7 Jul 2020 12:22:58 +0000 (14:22 +0200)]
Fixed bug #79784
The fix here is essentially the same as for bug #78598, just for
the undefined variable notice, rather than the undefined index one.
Christoph M. Becker [Tue, 7 Jul 2020 11:57:46 +0000 (13:57 +0200)]
[ci skip] Merge branch 'PHP-7.4'
* PHP-7.4:
Don't use deprecated curly brace offset syntax
Christoph M. Becker [Tue, 7 Jul 2020 11:56:22 +0000 (13:56 +0200)]
[ci skip] Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
Don't use deprecated curly brace offset syntax
Christoph M. Becker [Tue, 7 Jul 2020 11:21:26 +0000 (13:21 +0200)]
Don't use deprecated curly brace offset syntax
(cherry picked from commit
7ec3aa1871074f5de25865af42c984a7668eb85f )
Better safe than sorry in case someone ever builds PHP 7.3 with a
future version of PHP SDK with bundled PHP 8.
Christoph M. Becker [Tue, 7 Jul 2020 11:26:42 +0000 (13:26 +0200)]
Merge branch 'PHP-7.4'
* PHP-7.4:
Don't use deprecated curly brace offset syntax
Christoph M. Becker [Tue, 7 Jul 2020 11:21:26 +0000 (13:21 +0200)]
Don't use deprecated curly brace offset syntax
Nikita Popov [Tue, 7 Jul 2020 10:17:11 +0000 (12:17 +0200)]
Merge branch 'PHP-7.4'
* PHP-7.4:
Fixed bug #78598
Nikita Popov [Tue, 4 Feb 2020 13:19:07 +0000 (14:19 +0100)]
Fixed bug #78598
When performing an RW modification of an array offset, the undefined
offset warning may call an error handler / OB callback, which may
destroy the array we're supposed to change. Detect this by temporarily
incrementing the reference count. If we find that the array has been
modified/destroyed in the meantime, we do nothing -- the execution
model here would be that the modification has happened on the destroyed
version of the array.
Nikita Popov [Tue, 7 Jul 2020 09:59:56 +0000 (11:59 +0200)]
Merge branch 'PHP-7.4'
* PHP-7.4:
Fixed bug #79792
Nikita Popov [Tue, 7 Jul 2020 09:59:20 +0000 (11:59 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
Fixed bug #79792
Nikita Popov [Tue, 7 Jul 2020 09:57:01 +0000 (11:57 +0200)]
Fixed bug #79792
We need to remove the iterators even if the array is empty (we
will not create one if the first place, but the array may become
empty after the fact).
Nikita Popov [Tue, 7 Jul 2020 09:34:43 +0000 (11:34 +0200)]
Assert no exception if using NEXT_OPCODE()
When NEXT_OPCODE() is used instead of NEXT_OPCODE_CHECK_EXCEPTION(),
assert that there is indeed no exception.
Nikita Popov [Tue, 7 Jul 2020 09:31:05 +0000 (11:31 +0200)]
Assert exception set in HANDLE_EXCEPTION()
Some code paths were checking this manually, but we can turn this
into a general assertion to avoid surprises (functions returning
failure without throwing).
Nikita Popov [Tue, 7 Jul 2020 09:25:28 +0000 (11:25 +0200)]
Remove #undefs from vm_gen
Possibly these were needed for VM_EXPORT, but they don't serve a
purpose now.
Nikita Popov [Tue, 7 Jul 2020 09:23:28 +0000 (11:23 +0200)]
Remove ZEND_VM_EXPORT functionality
This hasn't been used since forever and makes things more confusing
than they already are.
Nikita Popov [Tue, 7 Jul 2020 08:56:55 +0000 (10:56 +0200)]
Fixed bug #79790
I haven't tracked down in detail where the interaction with
increment_function comes from, but the root problem here is failure
to handle the illegal offset type exception.
Nikita Popov [Tue, 7 Jul 2020 08:27:53 +0000 (10:27 +0200)]
Merge branch 'PHP-7.4'
* PHP-7.4:
Fixed bug #79779
Nikita Popov [Tue, 7 Jul 2020 08:27:22 +0000 (10:27 +0200)]
Fixed bug #79779
ASSIGN_OBJ_REF was not handling in zend_wrong_string_offset.
Nikita Popov [Tue, 7 Jul 2020 08:20:31 +0000 (10:20 +0200)]
Merge branch 'PHP-7.4'
* PHP-7.4:
Fixed bug #79778
Nikita Popov [Tue, 7 Jul 2020 08:20:11 +0000 (10:20 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
Fixed bug #79778
Nikita Popov [Tue, 7 Jul 2020 08:11:34 +0000 (10:11 +0200)]
Fixed bug #79778
In the interest of avoiding side-effects during dumping, I'm
replacing the value with a <constant ast> string instead of
performing an update constant operation.
Nikita Popov [Tue, 7 Jul 2020 07:57:07 +0000 (09:57 +0200)]
Merge branch 'PHP-7.4'
* PHP-7.4:
Fixed bug #79783
Nikita Popov [Tue, 7 Jul 2020 07:55:28 +0000 (09:55 +0200)]
Fixed bug #79783
Make sure we don't drop the by-reference check when passing the
result of a VM builtin function.
Nikita Popov [Tue, 7 Jul 2020 07:30:24 +0000 (09:30 +0200)]
Remove no_separation flag
Nikita Popov [Tue, 7 Jul 2020 07:29:21 +0000 (09:29 +0200)]
Explicitly create references in UConverter callbacks
And don't allow separation.
Nikita Popov [Tue, 7 Jul 2020 07:23:05 +0000 (09:23 +0200)]
Fixup test
Nikita Popov [Tue, 7 Jul 2020 07:08:56 +0000 (09:08 +0200)]
Don't allow separation in array functions
The only case here that might be *somewhat* sensible is the userdata
argument of array_walk(), which could be used to keep persistent state
between callback invokations -- with the WTF moment that the final
result after the walk finishes will be unchanged. Nowdays, this is
much better achieved using a closure with a use-by-reference.
Nikita Popov [Tue, 7 Jul 2020 07:04:20 +0000 (09:04 +0200)]
Don't allow separation in CallbackFilterIterator
As the name might suggest, this is a *filter* iterator. If you want
to have a *map* iterator, write one, or use a generator.
Nikita Popov [Tue, 7 Jul 2020 06:59:19 +0000 (08:59 +0200)]
Disallow separation in a number of callbacks
All of these clearly do not need separation support.
Nikita Popov [Tue, 7 Jul 2020 06:57:05 +0000 (08:57 +0200)]
Don't allow separation in callback filter
This causes some tests to fail. Those tests are specifically about
the callback not being able to modify the data though, so this is
clearly not supposed to be a supported use-case.
Gabriel Caruso [Tue, 7 Jul 2020 02:32:35 +0000 (02:32 +0000)]
Update NEWS for 8.0.0alpha3