Commit Graph

14941 Commits

Author SHA1 Message Date
Dmitry Stogov
172c71980d Merge branch 'PHP-7.4'
* PHP-7.4:
  Fixed handling of references in nested data of objects with destructor
2019-08-09 17:47:50 +03:00
Dmitry Stogov
4ebf527136 Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
  Fixed handling of references in nested data of objects with destructor
2019-08-09 17:47:35 +03:00
Dmitry Stogov
722a44d515 Merge branch 'PHP-7.2' into PHP-7.3
* PHP-7.2:
  Fixed handling of references in nested data of objects with destructor
2019-08-09 17:47:06 +03:00
Dmitry Stogov
9b43e29d9b Fixed handling of references in nested data of objects with destructor 2019-08-09 17:43:50 +03:00
Dmitry Stogov
fa1e4984ab Merge branch 'master' of git.php.net:php-src
* 'master' of git.php.net:php-src:
  Fixed bug #78391
  Make uninitialized DateTime an Error
  Generate arginfo from PHP stub files
2019-08-09 16:03:07 +03:00
Dmitry Stogov
a037a5bd33 Merge branch 'PHP-7.4'
* PHP-7.4:
  Fixed second part of the bug #78379 (Cast to object confuses GC, causes crash)
2019-08-09 15:58:44 +03:00
Dmitry Stogov
1456467cfe Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
  Fixed second part of the bug #78379 (Cast to object confuses GC, causes crash)
2019-08-09 15:58:33 +03:00
Dmitry Stogov
22d23e08c9 Merge branch 'PHP-7.2' into PHP-7.3
* PHP-7.2:
  Fixed second part of the bug #78379 (Cast to object confuses GC, causes crash)
2019-08-09 15:58:16 +03:00
Nikita Popov
33886f710c Generate arginfo from PHP stub files
Signature stubs for internal functions are specified in xyz.stub.php,
from which we generate actual arginfo structures in xyz_arginfo.h.
This file then needs to be included in the implementation appropriately.

Arginfo from stubs can be regenerated using scripts/dev/gen_stub.php.
However, this should also automatically happen when the stub file is
modified.
2019-08-09 14:51:25 +02:00
Dmitry Stogov
6b1cc1252e Fixed second part of the bug #78379 (Cast to object confuses GC, causes crash) 2019-08-09 15:42:39 +03:00
Dmitry Stogov
9b973550b9 Merge branch 'PHP-7.4'
* PHP-7.4:
  Added asserts to catch GC errors when refcount goes below zero.
2019-08-09 13:40:56 +03:00
Dmitry Stogov
b2044cd93e Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
  Added asserts to catch GC errors when refcount goes below zero.
2019-08-09 13:40:39 +03:00
Dmitry Stogov
21a0a28fd0 Merge branch 'PHP-7.2' into PHP-7.3
* PHP-7.2:
  Added asserts to catch GC errors when refcount goes below zero.
2019-08-09 13:39:59 +03:00
Dmitry Stogov
2e2cd65d73 Added asserts to catch GC errors when refcount goes below zero. 2019-08-09 13:37:23 +03:00
Nikita Popov
e22633c4a7 Merge branch 'PHP-7.4' 2019-08-08 10:55:07 +02:00
Nikita Popov
d9dc942011 Merge branch 'PHP-7.3' into PHP-7.4 2019-08-08 10:55:02 +02:00
Nikita Popov
38f10ff5cf Fix GC tracing
Due to the GC changes in 7.3 we stopped tracing most of the
interesting coloring changes...
2019-08-08 10:54:18 +02:00
Dmitry Stogov
db4eb13b25 Merge branch 'PHP-7.4'
* PHP-7.4:
  Fixed bug #78379 (Cast to object confuses GC, causes crash)
2019-08-08 10:09:04 +03:00
Dmitry Stogov
720438c8ee Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
  Fixed bug #78379 (Cast to object confuses GC, causes crash)
2019-08-08 10:07:39 +03:00
Dmitry Stogov
bff2743caf Merge branch 'PHP-7.2' into PHP-7.3
* PHP-7.2:
  Fixed bug #78379 (Cast to object confuses GC, causes crash)
2019-08-08 10:05:59 +03:00
Dmitry Stogov
358379be22 Fixed bug #78379 (Cast to object confuses GC, causes crash) 2019-08-08 10:00:39 +03:00
Dmitry Stogov
b912335315 Merge branch 'PHP-7.4'
* PHP-7.4:
  Inline zend_zval_ptr() in executor explicitely (only on hot paths)
2019-08-06 16:33:27 +03:00
Dmitry Stogov
d1fd4607d0 Inline zend_zval_ptr() in executor explicitely (only on hot paths) 2019-08-06 16:28:42 +03:00
Dmitry Stogov
4d9e5ddf7c Merge branch 'PHP-7.4'
* PHP-7.4:
  Don't set GC_HAS_DESTRUCTORS flag if destructors were already called
  Update NEWS for 7.4.0beta3
  Update NEWS for PHP 7.4.0beta2
2019-08-06 11:37:08 +03:00
Dmitry Stogov
170a3f871f Don't set GC_HAS_DESTRUCTORS flag if destructors were already called 2019-08-06 11:35:53 +03:00
Nikita Popov
d4e31cc69f Merge branch 'PHP-7.4' 2019-08-02 10:38:39 +02:00
Nikita Popov
a4a535d8de Merge branch 'PHP-7.3' into PHP-7.4 2019-08-02 10:38:26 +02:00
Nikita Popov
d89157cd67 Add test for bug #78363 2019-08-02 10:37:44 +02:00
Nikita Popov
e1934f8515 Merge branch 'PHP-7.2' into PHP-7.3 2019-08-02 10:35:48 +02:00
Nikita Popov
85e8ccd55e Fixed bug #78363 2019-08-02 10:35:24 +02:00
Nikita Popov
e63093e547 Merge branch 'PHP-7.4' 2019-08-01 10:11:02 +02:00
Nikita Popov
bab8b3a8be Add test for bug #78356 2019-08-01 10:10:28 +02:00
Nikita Popov
afd96392a3 Revert "Use RW fetch for argument unpacking"
This reverts commit 6913ec3282.
This reverts commit a9e332e027.

Causes https://bugs.php.net/bug.php?id=78356, which I don't have
a good solution for.
2019-08-01 10:06:53 +02:00
Nikita Popov
14f99ede42 Merge branch 'PHP-7.4' 2019-07-30 10:07:25 +02:00
Nikita Popov
6913ec3282 Use RW fetch for argument unpacking
Argument unpacking may need to create references inside the array
that is being unpacked. However, it currently can only do this
if a plain variable is unpacked, not for any nested accesses,
because the value is fetched for read. Resolve this by fetching
the operands for RW.
2019-07-30 10:07:08 +02:00
Nikita Popov
9a3aef3c21 Merge branch 'PHP-7.4' 2019-07-29 17:15:35 +02:00
Nikita Popov
6df1665bb3 Merge branch 'PHP-7.3' into PHP-7.4 2019-07-29 17:14:40 +02:00
Nikita Popov
bbed5564eb Merge branch 'PHP-7.2' into PHP-7.3 2019-07-29 16:57:57 +02:00
Nikita Popov
38f1288b64 Fix Zend signals unblocking
There are a few parts here:
 * opcache should not be blocking signals while invoking compile_file,
   otherwise signals may remain blocked on a compile error. While at
   it, also protect SHM memory during compile_file.
 * We should deactivate Zend signals at the end of the request, to make
   sure that we gracefully recover from a missing unblock and signals
   don't remain blocked forever.
 * We don't use a critical section in deactivation, because it should
   not be necessary. Additionally we want to clean up the signal queue,
   if it is non-empty.
 * Enable SIGG(check) in debug builds so we notice issues in the future.
2019-07-29 15:17:32 +02:00
Nikita Popov
cd1c651af1 Merge branch 'PHP-7.4' 2019-07-29 11:13:33 +02:00
Nikita Popov
4ae807e84e Fixed bug #78344
When performing a constant visibility check during compilation we
might be dealing with unlinked classes and as such should account
for the possibility of unresolved parents.
2019-07-29 11:12:00 +02:00
Nikita Popov
bc6e4b6c57 Merge branch 'PHP-7.4' 2019-07-29 10:12:58 +02:00
Nikita Popov
9bfda013d3 Fixed bug #78340
Even if we know the file size, we still need to read in a loop in
case the read call returns an incomplete result.

This was less of an issue previously because we did not use the
"one large read" approach for non-plain stream wrappers.
2019-07-29 10:07:12 +02:00
Nikita Popov
957013c5b7 Merge branch 'PHP-7.4' 2019-07-24 20:53:19 +02:00
Nikita Popov
99d4b2bddc Mark _get_zval_ptr_deref as unused 2019-07-24 20:51:19 +02:00
Dmitry Stogov
96dab0a657 Merge branch 'PHP-7.4'
* PHP-7.4:
  Avoid over-specialization
2019-07-24 20:00:55 +03:00
Dmitry Stogov
853b426ecf Avoid over-specialization 2019-07-24 19:51:56 +03:00
Dmitry Stogov
30886007c1 Merge branch 'PHP-7.4'
* PHP-7.4:
  Reordering
2019-07-24 18:52:55 +03:00
Dmitry Stogov
d7e8abb4aa Reordering 2019-07-24 18:49:46 +03:00
Dmitry Stogov
a106e52b10 Merge branch 'PHP-7.4'
* PHP-7.4:
  Delay dereference
2019-07-24 18:40:03 +03:00