Dmitry Stogov
e029cc4dd4
Merge branch 'PHP-7.4'
...
* PHP-7.4:
Cheaper checks for exceptions thrown from __toString()
2019-06-06 02:23:17 +03:00
Dmitry Stogov
457392fa64
Cheaper checks for exceptions thrown from __toString()
2019-06-06 01:47:22 +03:00
Dmitry Stogov
5f3ee3afe7
Merge branch 'PHP-7.4'
...
* PHP-7.4:
Prevent generation of specialized ZEND_ASSIGN_OP_..._STATIC_PROP handlers, that call unspecialized helper, anyway.
2019-06-05 17:38:36 +03:00
Dmitry Stogov
3f4dfe1877
Prevent generation of specialized ZEND_ASSIGN_OP_..._STATIC_PROP handlers, that call unspecialized helper, anyway.
2019-06-05 17:38:13 +03:00
Nikita Popov
7686b0b889
Merge branch 'PHP-7.4'
2019-06-05 14:53:50 +02:00
Nikita Popov
a31f46421d
Allow exceptions in __toString()
...
RFC: https://wiki.php.net/rfc/tostring_exceptions
And convert some object to string conversion related recoverable
fatal errors into Error exceptions.
Improve exception safety of internal code performing string
conversions.
2019-06-05 14:25:07 +02:00
Dmitry Stogov
f43e483ffb
Merge branch 'PHP-7.4'
...
* PHP-7.4:
Fixed compilation warning
2019-05-31 01:00:12 +03:00
Dmitry Stogov
2915a32f37
Fixed compilation warning
2019-05-31 00:59:52 +03:00
Dmitry Stogov
d7710ef517
Merge branch 'PHP-7.4'
...
* PHP-7.4:
Don't specialize "cold" handlers
2019-05-31 00:32:18 +03:00
Dmitry Stogov
1814308e49
Don't specialize "cold" handlers
2019-05-31 00:31:57 +03:00
Dmitry Stogov
8491800eaf
Merge branch 'PHP-7.4'
...
* PHP-7.4:
Removed useless specialization. Specialized handlers called not specialized helpers.
2019-05-31 00:16:20 +03:00
Dmitry Stogov
4e567ed1da
Removed useless specialization. Specialized handlers called not specialized helpers.
2019-05-31 00:15:25 +03:00
Dmitry Stogov
10cf2c07f2
Merge branch 'PHP-7.4'
...
* PHP-7.4:
Reduce register pressure by reloading values on CPUs with few general purpose registers
2019-05-31 00:15:18 +03:00
Dmitry Stogov
cf388033d5
Reduce register pressure by reloading values on CPUs with few general purpose registers
2019-05-31 00:14:10 +03:00
Dmitry Stogov
0a6a350371
Merge branch 'PHP-7.4'
...
* PHP-7.4:
Disable "bad" optimisations only for emulation loop
2019-05-30 20:43:17 +03:00
Dmitry Stogov
ee56552913
Disable "bad" optimisations only for emulation loop
2019-05-30 20:35:30 +03:00
Dmitry Stogov
c64fe84f8b
Merge branch 'PHP-7.4'
...
* PHP-7.4:
Avoid double copying
2019-05-28 13:35:29 +03:00
Dmitry Stogov
b2cb6a4a27
Avoid double copying
2019-05-28 13:35:00 +03:00
Nikita Popov
45c663a9d3
Merge branch 'PHP-7.4'
2019-05-27 17:13:00 +02:00
Nikita Popov
fd23f9104a
BIND_STATIC of implicit binding may be undef
...
Even though we don't need it at runtime, add the BIND_IMPLICIT
flag to BIND_STATIC as well, so we can distinguish this case in
type inference.
This fixes a JIT miscompile in arrow_functions/002.phpt.
2019-05-27 17:12:20 +02:00
Nikita Popov
f106f57164
Merge branch 'PHP-7.4'
2019-05-13 14:43:10 +02:00
CHU Zhaowei
e829d08729
Implement spread operator in arrays
...
RFC: https://wiki.php.net/rfc/spread_operator_for_array
Closes GH-3640.
2019-05-13 14:42:43 +02:00
Nikita Popov
79f41944ba
Merge branch 'PHP-7.4'
2019-05-02 15:07:04 +02:00
Nikita Popov
f3e5bbe6f3
Implement arrow functions
...
Per RFC: https://wiki.php.net/rfc/arrow_functions_v2
Co-authored-by: Levi Morrison <levim@php.net>
Co-authored-by: Bob Weinand <bobwei9@hotmail.com>
2019-05-02 15:04:03 +02:00
Dmitry Stogov
f1767e23f4
Merge branch 'PHP-7.4'
...
* PHP-7.4:
Don't initialize return value before calling user functions
2019-04-18 02:32:06 +03:00
Dmitry Stogov
38f9c8d93d
Don't initialize return value before calling user functions
2019-04-18 02:31:12 +03:00
Dmitry Stogov
150c5e04e9
Merge branch 'PHP-7.4'
...
* PHP-7.4:
Removed tests that always (or almost always) true
2019-04-15 13:19:39 +03:00
Dmitry Stogov
cb3cfc9ff8
Removed tests that always (or almost always) true
2019-04-15 13:18:16 +03:00
Nikita Popov
dc42e403a2
Merge branch 'PHP-7.4'
2019-04-15 11:42:55 +02:00
Nikita Popov
7f6c22cb3d
Fix last maybe uninit warnings on 7.4
...
Most of these only occur under GCC 5. Not fond of all the workarounds
(especially the PDO one), but it gets us a clean build...
2019-04-15 11:35:13 +02:00
Dmitry Stogov
55cc280429
Backported call frame initialization improvement
2019-04-12 02:35:42 +03:00
Dmitry Stogov
39505764ad
Merge branch 'PHP-7.4'
...
* PHP-7.4:
Replace "ZEND_CALL_CTOR" hack by additional live-range
2019-04-12 01:01:47 +03:00
Dmitry Stogov
88a2268d6b
Replace "ZEND_CALL_CTOR" hack by additional live-range
2019-04-12 00:49:45 +03:00
Dmitry Stogov
5f46d2180c
Merge branch 'master' of git.php.net:php-src
...
* 'master' of git.php.net:php-src:
Use zend_quiet_write instead of ZEND_IGNORE_VALUE
Suppress warnings using zend_quiet_write
Don't build JIT if the host architecture doesn't support it
Fix incompatible pointer warning in zend_test
Mark zend_jit_print_regset as unused
Suppress write() warnings in jit_perf_dump.c
Generate ZEND_COUNT for sizeof()
Make tsrm_env_lock() void
2019-04-11 13:26:47 +03:00
Nikita Popov
8f441c90ca
Merge branch 'PHP-7.4'
2019-04-11 10:49:38 +02:00
Nikita Popov
30df87f77d
Generate ZEND_COUNT for sizeof()
...
sizeof() is an alias of count(), so we should generate the same
code for them.
2019-04-11 10:48:52 +02:00
Dmitry Stogov
c97e3158ed
Check for ZEND_CALL_RELEASE_THIS only if ZEND_CALL_CLOSURE is not set
2019-04-11 11:19:09 +03:00
Dmitry Stogov
cc900edd77
Simplify call frame initialization
2019-04-11 02:08:32 +03:00
Nikita Popov
addd5a1693
Merge branch 'PHP-7.4'
2019-04-08 10:20:17 +02:00
Nikita Popov
e86820eb56
Fix invalid function by-ref prop assign handling
2019-04-08 10:18:26 +02:00
Dmitry Stogov
5b34c87d18
Merge branch 'PHP-7.4'
...
* PHP-7.4:
Optimized "smart branch" instructions
2019-04-05 00:26:20 +03:00
Dmitry Stogov
d6848625d7
Optimized "smart branch" instructions
2019-04-05 00:25:45 +03:00
Dmitry Stogov
0deb6419e8
Merge branch 'PHP-7.4'
...
* PHP-7.4:
Make is_identical() functions return zend_bool (instead of int)
2019-04-04 18:18:52 +03:00
Dmitry Stogov
9038d5c6ee
Make is_identical() functions return zend_bool (instead of int)
2019-04-04 18:18:12 +03:00
Dmitry Stogov
c4d5d26df3
Merge branch 'PHP-7.4'
...
* PHP-7.4:
unused variable
2019-04-04 17:52:42 +03:00
Dmitry Stogov
575c3576a7
unused variable
2019-04-04 17:52:17 +03:00
Dmitry Stogov
c617fb78ab
Merge branch 'PHP-7.4'
...
* PHP-7.4:
Improved comparison opcode handlers
2019-04-02 23:47:03 +03:00
Dmitry Stogov
9cb926d8d1
Improved comparison opcode handlers
2019-04-02 23:46:21 +03:00
Dmitry Stogov
71413747c8
Merge branch 'PHP-7.4'
...
* PHP-7.4:
Fixed typo
2019-03-20 01:32:01 +03:00
Dmitry Stogov
14359eb7eb
Fixed typo
2019-03-20 01:31:35 +03:00