Commit graph

1920 commits

Author SHA1 Message Date
Nikita Popov
00d549d73d Merge branch 'PHP-7.4' 2019-06-06 14:56:58 +02:00
Nikita Popov
7780ba9660 Try to fix Windows build 2019-06-06 14:56:42 +02:00
Dmitry Stogov
dbd1ecd09f Merge branch 'PHP-7.4'
* PHP-7.4:
  Support for exceptions thrown during "Array to string conversion" error processing
  Reduce over-specialization for quite seldom instructions
2019-06-06 14:10:23 +03:00
Dmitry Stogov
a95014dc10 Reduce over-specialization for quite seldom instructions 2019-06-06 13:13:09 +03:00
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
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
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
Nikita Popov
45a0656e95 Remove get() object handler
Now that set() is gone, there is little point in keeping get(), as
it is essentially just a different way of writing cast_object()
now.

Closes GH-4202.
2019-05-29 17:15:19 +02:00
Dmitry Stogov
207d928da8 Merge branch 'PHP-7.4'
* PHP-7.4:
  zend_assign_to_variable() optimization
2019-05-29 13:59:01 +03:00
Dmitry Stogov
b06f05bf47 zend_assign_to_variable() optimization 2019-05-29 13:58:37 +03:00
Dmitry Stogov
0d102515bf zend_do_fcall_overloaded() doesn't have to be exported 2019-05-29 10:32:30 +03:00
Dmitry Stogov
139da4b271 Merge branch 'PHP-7.4'
* PHP-7.4:
  Removed ability to compile PHP without EX(run_time_cache). ZEND_EX_USE_RUN_TIME_CACHE was always defined.
2019-05-15 11:07:51 +03:00
Dmitry Stogov
f9e8015847 Removed ability to compile PHP without EX(run_time_cache). ZEND_EX_USE_RUN_TIME_CACHE was always defined. 2019-05-15 11:06:26 +03:00
Peter Kokot
34bc920382 Merge branch 'PHP-7.4'
* PHP-7.4:
  Remove unused functions
2019-05-09 19:07:39 +02:00
Peter Kokot
ec518aef10 Remove unused functions
- _get_zval_ptr_cv_deref_BP_VAR_UNSET
- _get_zval_ptr_cv_deref_BP_VAR_IS
- _get_zval_ptr_cv_deref_BP_VAR_RW
- _get_zval_ptr_cv_deref_BP_VAR_W
2019-05-09 19:07:24 +02:00
Peter Kokot
a7bd736c2c Merge branch 'PHP-7.4'
* PHP-7.4:
  Remove unused functions
2019-05-08 22:02:49 +02:00
Peter Kokot
3c92b79ea0 Remove unused functions
- zend_mm_bitset_find_zero
- zend_mm_bitset_find_one
- zend_mm_bitset_find_zero_and_set
- zend_is_by_ref_func_arg_fetch
2019-05-08 22:02:39 +02:00
Dmitry Stogov
4d7df449d0 Merge branch 'PHP-7.4'
* PHP-7.4:
  Add gcc global register for aarch64
2019-04-22 14:29:58 +03:00
CrazyMiaoo
9df15fc26b Add gcc global register for aarch64 2019-04-22 14:29:30 +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
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
cc900edd77 Simplify call frame initialization 2019-04-11 02:08:32 +03:00
Dmitry Stogov
2a310b24d6 Merge branch 'PHP-7.4'
* PHP-7.4:
  Repare SWITCH VM
2019-04-09 01:17:36 +03:00
Dmitry Stogov
fe0a0897ba Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
  Repare SWITCH VM
2019-04-09 01:17:10 +03:00
Joe Watkins
ade73c360c
Merge branch 'PHP-7.4'
* PHP-7.4:
  typo
2019-04-05 07:57:54 +02:00
Markus Staab
87b62fe7bc
typo 2019-04-05 07:57:43 +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
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
Nikita Popov
472f577679 Merge branch 'PHP-7.4'
[ci skip]
2019-03-01 16:14:20 +01:00
c9s
7c351ba65c Fix out-dated docs and typo
[ci skip]
2019-03-01 16:14:11 +01:00
Nikita Popov
dae056420d Merge branch 'PHP-7.4' 2019-02-20 12:12:27 +01:00
Nikita Popov
a92db42568 Use "modify" error message for FUNC_ARG fetch as well
Avoid differences based on whether a W or FUNC_ARG fetch is performed.
2019-02-20 11:54:22 +01:00
Peter Kokot
18295b396f Merge branch 'PHP-7.4'
* PHP-7.4:
  Fix typos in code comments in Zend/ [skip ci]
2019-02-18 17:56:38 +01:00
Tyson Andre
da3316ff0f Fix typos in code comments in Zend/ [skip ci] 2019-02-18 17:56:28 +01: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
Nikita Popov
924142fef0 Merge branch 'PHP-7.4' 2019-02-14 12:51:39 +01:00
David Walker
e63febb1c7 Fixed bug #75921
Ensure that the "creating default object from empty value" warning is
always thrown. Previously some cases were missing the warning, in
particular those going through FETCH_OBJ_W rather than a dedicated
opcode (like ASSIGN_OBJ).

One slightly unfortunate side-effect of this change is that something
like $a->b->c = 'd' will now generate two warnings rather than one
when $a is null (one for property b, one for property c).
2019-02-14 12:50:25 +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
Nikita Popov
4f0abd8465 Merge branch 'PHP-7.4' 2019-02-08 12:44:19 +01:00
Nikita Popov
0d4471fd28 Fix double free if post inc of typed property throws
We either need to add an extra ref because the copy is used as the
retval, which is freed by HANDLE_EXCEPTION, or we need to undef it
(done here).
2019-02-08 12:43:11 +01:00