Commit graph

2175 commits

Author SHA1 Message Date
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
Dmitry Stogov
61548042f7 Merge branch 'PHP-7.4'
* PHP-7.4:
  micro-optimization
2019-03-19 02:02:37 +03:00
Dmitry Stogov
9357953bab micro-optimization 2019-03-19 02:02:14 +03:00
Nikita Popov
513b76794b Make zpp failures always throw, independent of strict_types
Previously zend_parse_parameters (and FastZPP) would handle invalid
arguments depending on strict_types: With strict_types=1, a TypeError
is thrown, with strict_types=0 a warning is thrown and (usually) NULL
is returned. Additionally, some functions (constructors always and
other methods sometimes) opt-it to throwing regardless of strict_types.

This commit changes zpp to always generate a TypeError exception in
PHP 8.
2019-03-11 11:32:20 +01:00
Dmitry Stogov
1b281f801e Merge branch 'PHP-7.4'
* PHP-7.4:
  Avoid useless code duplication, because of unused specialization
2019-02-15 17:52:59 +03:00
Dmitry Stogov
d4bef4ce7b Avoid useless code duplication, because of unused specialization 2019-02-15 17:49:39 +03:00
Dmitry Stogov
89c94161ea Merge branch 'PHP-7.4'
* PHP-7.4:
  Reduce slow code size
2019-02-15 17:03:49 +03:00
Dmitry Stogov
78a1d76962 Reduce slow code size 2019-02-15 17:03:04 +03:00
Nikita Popov
faaf510fa4 Merge branch 'PHP-7.4' 2019-02-14 14:02:32 +01:00
Nikita Popov
adf2f39745 Fix build without global regs 2019-02-14 14:01:39 +01:00
Dmitry Stogov
e17667abd5 Merge branch 'PHP-7.4'
* PHP-7.4:
  More accurate handling of global registers (allow VM with single global register)
2019-02-12 17:39:55 +03:00
Dmitry Stogov
626bc3a2de More accurate handling of global registers (allow VM with single global register) 2019-02-12 17:39:02 +03:00
Nikita Popov
a302d11610 Don't silence fatal errors with @ 2019-02-11 16:17:55 +01:00
Dmitry Stogov
bb3a3c1570 Simplify checks 2019-02-07 22:08:51 +03:00
Dmitry Stogov
f45e0ce928 Remove ZEND_OVERLOADED_FUNCTION and corresponding call_method object handler 2019-02-07 21:05:46 +03:00
Nikita Popov
7480f4ebae Merge branch 'PHP-7.4' 2019-02-07 10:06:37 +01:00
Nikita Popov
1a4ffcd2b4 Fix DIM_OBJ specialization in zend_vm_get_opcode_handler_func
DIM_OBJ also specializes over ASSIGN_STATIC_PROP nowadays.
2019-02-07 10:06:25 +01:00
Dmitry Stogov
1a304d357c More accurate get_properties() usage. 2019-02-04 13:20:25 +03:00
Dmitry Stogov
b7f05885e8 Reuse cache_slot 2019-02-04 13:20:25 +03:00
Dmitry Stogov
91ef4124e5 Refactor zend_object_handlers API to pass zend_object* and zend_string* insted of zval(s). 2019-02-04 13:20:25 +03:00
Nikita Popov
9c5ab992ac Merge branch 'PHP-7.4' 2019-01-31 09:40:01 +01:00
Nikita Popov
340c6d3927 Revert "Don't silence fatal errors with @"
This reverts commit abd36289e2.

This wasn't ready for merging yet, there are still some test
failures.
2019-01-31 09:39:10 +01:00
Joe Watkins
839bdf12ee
Merge branch 'PHP-7.4'
* PHP-7.4:
  Don't silence fatal errors with @
2019-01-31 07:11:18 +01:00
Nikita Popov
abd36289e2
Don't silence fatal errors with @ 2019-01-31 07:11:05 +01:00
Zeev Suraski
a81202ac49 Adios, yearly copyright ranges 2019-01-30 11:48:28 +01:00
Zeev Suraski
02557f87bc Adios, yearly copyright ranges 2019-01-30 11:23:29 +02:00
Nikita Popov
6c73b50cf6 Remove static calls to non-static methods 2019-01-30 09:19:02 +01:00
Nikita Popov
a50198d0fe Implement ??= operator
RFC: https://wiki.php.net/rfc/null_coalesce_equal_operator

$a ??= $b is $a ?? ($a = $b), with the difference that $a is only
evaluated once, to the degree that this is possible. In particular
in $a[foo()] ?? $b function foo() is only ever called once.
However, the variable access themselves will be reevaluated.
2019-01-22 11:12:04 +01:00
Dmitry Stogov
0941f25811 Removed useless Z_REFCOUNTED_P() checks. 2019-01-17 10:53:58 +03:00
Dmitry Stogov
8661b6dd5d Reduce slow code size 2019-01-16 14:26:32 +03:00
Dmitry Stogov
fd27fd4a15 Fixed and improved incorrect usage of value_type argument. 2019-01-16 11:06:19 +03:00