1
0
mirror of https://github.com/php/php-src.git synced 2026-03-28 10:12:18 +01:00
Commit Graph

14887 Commits

Author SHA1 Message Date
Dmitry Stogov
57d9b94dea Simplify TMP/VAR operand releasing 2019-07-24 14:13:40 +03:00
Nikita Popov
8aa92c1465 Merge branch 'PHP-7.4' 2019-07-24 10:52:18 +02:00
Nikita Popov
a49d53baa2 Don't skip uninitialized typed props in get_class_vars()
For bug #78319.
2019-07-24 10:52:01 +02:00
Nikita Popov
173ebe4c44 Merge branch 'PHP-7.4' 2019-07-24 10:44:40 +02:00
Nikita Popov
d9680272c7 Revert "Drop free_filename field from zend_file_handle"
This reverts commit e0eca26285.

free_filename is used by the wincache extension, restore this
field for PHP 7.4.
2019-07-24 10:43:37 +02:00
Nikita Popov
dc6341eb78 Merge branch 'PHP-7.4' 2019-07-24 10:07:51 +02:00
Nikita Popov
1eb706179f Avoid references in TMP var
Make sure we deref the OBJ_IS result, because we store it in a TMP
var, which is not allowed to contain references and will cause
assertion failures in the unspecialized VM.

This also partially reverts fd463a9a60,
which merged the TMP and VAR specializations of COALESCE to work
around this bug.

An alternative would be to change the result type of OBJ_IS back
to VAR.
2019-07-24 10:07:26 +02:00
Nikita Popov
80681e8d40 Merge branch 'PHP-7.4' 2019-07-24 09:55:09 +02:00
Nikita Popov
9e4603f772 Try to fix macos build
By avoiding unused variable opline warnings. Also clean up the
replacement of ZEND_VM_SPEC -- we were sometimes treating it as
an always-defined constant with a value (what it actually is) and
sometimes as a conditionally defined constant (which it isn't, but
which still worked thanks to the specializer). Switch to only
treating it as a constant with a value.
2019-07-24 09:44:55 +02:00
Dmitry Stogov
3c4f38d512 Merge branch 'PHP-7.4'
* PHP-7.4:
  Fixed CALL VM
2019-07-24 01:52:26 +03:00
Dmitry Stogov
8d51af9bc2 Fixed CALL VM 2019-07-24 01:52:05 +03:00
Dmitry Stogov
43c4e4cd22 Merge branch 'PHP-7.4'
* PHP-7.4:
  Fixed unspecialized executor
2019-07-24 01:43:20 +03:00
Dmitry Stogov
eaa9048973 Fixed unspecialized executor 2019-07-24 01:43:01 +03:00
Nikita Popov
d37d418927 Merge branch 'PHP-7.4' 2019-07-23 11:28:10 +02:00
George Peter Banyard
6d6d954d0d Cleanup of remaining E_STRICT in tests 2019-07-23 11:27:23 +02:00
Nikita Popov
ac555cf6ee Merge branch 'PHP-7.4' 2019-07-22 17:56:38 +02:00
Nikita Popov
5664035ffe Also report errors from Zend stream reader operation 2019-07-22 17:49:08 +02:00
Nikita Popov
36db71df47 Merge branch 'PHP-7.4' 2019-07-22 12:28:40 +02:00
Nikita Popov
28cf080701 Deprecate unbinding $this from non-static closure 2019-07-22 11:39:52 +02:00
Nikita Popov
b3f74b0b7d Deprecate allow_url_include 2019-07-22 11:39:52 +02:00
Nikita Popov
e41b7f6db4 Deprecate (real) cast 2019-07-22 11:39:52 +02:00
Nikita Popov
46b982409a Deprecate implode() with swapped parameter order 2019-07-22 11:39:52 +02:00
Nikita Popov
4e190691e2 Deprecate is_real() function 2019-07-22 11:39:52 +02:00
Nikita Popov
3121b7174f Deprecate Reflection export() methods
And remove the Reflector::export() interface method.
2019-07-22 11:39:52 +02:00
Nikita Popov
0ba7c3eadf Deprecate array_key_exists() on objects 2019-07-22 11:39:52 +02:00
Dmitry Stogov
c713f589c1 Merge branch 'PHP-7.4'
* PHP-7.4:
  Initialize static_members_table
2019-07-22 12:03:35 +03:00
Dmitry Stogov
60dca2295d Initialize static_members_table 2019-07-22 12:02:16 +03:00
Dmitry Stogov
97912023bb Merge branch 'PHP-7.4'
* PHP-7.4:
  Use run-time cache to avoid repeatable hash lookups in ZEND_DECLARE_CLASS_DELAYED
2019-07-19 11:46:35 +03:00
Dmitry Stogov
445d51347d Use run-time cache to avoid repeatable hash lookups in ZEND_DECLARE_CLASS_DELAYED 2019-07-19 11:46:03 +03:00
Nikita Popov
eb766751dc Merge branch 'PHP-7.4' 2019-07-19 10:06:30 +02:00
rjhdby
d574df63dc Deprecate alternative array access syntax
RFC: https://wiki.php.net/rfc/deprecate_curly_braces_array_access
2019-07-19 10:06:10 +02:00
Dmitry Stogov
a837b80a48 Merge branch 'PHP-7.4'
* PHP-7.4:
  Use run-time cache to avoid repeatable hash lookups when creating anonymous functions and classes
2019-07-19 10:45:00 +03:00
Dmitry Stogov
d5943f5a11 Use run-time cache to avoid repeatable hash lookups when creating anonymous functions and classes 2019-07-19 10:43:49 +03:00
Dmitry Stogov
5ac3580b9b Merge branch 'PHP-7.4'
* PHP-7.4:
  ZEND_DECLARE_ANON_CLASS doesn't need to skip anything now. It's immediatelly followed by ZEND_NEW.
2019-07-19 10:10:50 +03:00
Dmitry Stogov
b065fbde19 ZEND_DECLARE_ANON_CLASS doesn't need to skip anything now. It's immediatelly followed by ZEND_NEW. 2019-07-19 10:09:26 +03:00
Dmitry Stogov
dea80d708d Merge branch 'PHP-7.4'
* PHP-7.4:
  Merge common code
2019-07-18 16:50:56 +03:00
Dmitry Stogov
7cf651c39e Merge common code 2019-07-18 16:46:25 +03:00
Nikita Popov
bbcfa5083e Remove Z_PARAM_ZVAL_DEREF
Since PHP 7.4 using this is very likely wrong, and we don't have
any core uses of it for that reason. Extensions shouldn't be using
it either. Accept as Z_PARAM_ZVAL and then assign using
ZEND_TRY_ASSIGN macros.
2019-07-18 10:44:27 +02:00
Dmitry Stogov
b1f17a2579 Merge branch 'PHP-7.4'
* PHP-7.4:
  Avoid extra specialization for cold opcodes
2019-07-17 14:04:26 +03:00
Dmitry Stogov
b30e4a5aa6 Avoid extra specialization for cold opcodes 2019-07-17 14:03:48 +03:00
Nikita Popov
3c2f433b2b Merge branch 'PHP-7.4' 2019-07-17 12:02:30 +02:00
Nikita Popov
c2c5c9a973 Use reported fstat filesize for PHP streams 2019-07-17 11:56:00 +02:00
Nikita Popov
856c5d2837 Revert "Avoid unused fstat() call"
This reverts commit 5a90dc77b8.

Let's try to go with the reverse direction here and actually trust
the reported size...
2019-07-17 11:49:10 +02:00
Nikita Popov
995b391621 Merge branch 'PHP-7.4' 2019-07-17 11:22:41 +02:00
Nikita Popov
5a90dc77b8 Avoid unused fstat() call
If we're including a file via PHP streams, we're not going to trust
the reported file size anyway and populate in a loop -- so don't
bother determining the file size in the first place. Only do this
for non-tty HANDLE_FP now, which is the only case where this
information was used.
2019-07-17 11:22:31 +02:00
Dmitry Stogov
aced6c1538 Merge branch 'PHP-7.4'
* PHP-7.4:
  Remove old hack
2019-07-17 12:05:40 +03:00
Dmitry Stogov
6fbab09ef0 Remove old hack 2019-07-17 12:05:23 +03:00
Nikita Popov
b32e9a9227 Merge branch 'PHP-7.4' 2019-07-17 10:41:34 +02:00
Nikita Popov
a986e70991 Avoid double buffering in Zend streams
Disable buffering in PHP streams, to avoid storing and copying the
file contents twice.

This will call stream_set_option() on custom stream wrapper as
well, so the method needs to be implemented to avoid a warning.
2019-07-17 10:40:04 +02:00
Dmitry Stogov
a997a23f61 Merge branch 'PHP-7.4'
* PHP-7.4:
  Added specialization for comparison instructions and QM_ASSIGN
2019-07-17 09:12:27 +03:00