1
0
mirror of https://github.com/php/php-src.git synced 2026-04-20 22:41:20 +02:00
Commit Graph

119447 Commits

Author SHA1 Message Date
Dmitry Stogov
a75cf0c7e1 JIT support for opcache restart 2020-07-08 18:14:11 +03:00
George Peter Banyard
06da048622 Use HashTable directly instead of zval 2020-07-08 16:25:49 +02:00
Dmitry Stogov
69b1f3d53d Use small counter values for testing 2020-07-08 16:49:51 +03:00
Dmitry Stogov
ad52e4cad9 Fixed tracing JIT support for $http_response_header 2020-07-08 16:33:46 +03:00
Dmitry Stogov
9e8a8e6ab9 Use information about recorded classes for speculative FETCH_OBJ optimization 2020-07-08 14:09:28 +03:00
Nikita Popov
0e71446e7a Merge branch 'PHP-7.4'
* PHP-7.4:
  Fix bug #79787
2020-07-08 11:22:47 +02:00
Nikita Popov
77a8a709da Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
  Fix bug #79787
2020-07-08 11:22:18 +02:00
XXiang
3d5de7d746 Fix bug #79787
Closes GH-5807.
2020-07-08 11:20:58 +02:00
Dmitry Stogov
fa5355ba08 Change zend_get_known_property_offset() into zend_get_known_property_info() and cleanup 2020-07-08 12:02:37 +03:00
Christoph M. Becker
0e5d19bc96 [ci skip] Merge branch 'PHP-7.4'
* PHP-7.4:
  Report len as -1 instead of INT_MAX
2020-07-08 10:43:21 +02:00
Nikita Popov
22be60bb25 Add declared properties to LibXMLError
Partially addresses bug #79804.
2020-07-08 10:41:46 +02:00
Christoph M. Becker
776e872ab8 [ci skip] Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
  Report len as -1 instead of INT_MAX
2020-07-08 10:40:13 +02:00
Nikita Popov
e6160e99d8 Report len as -1 instead of INT_MAX
Per docs it should be -1. And would be on 32-bit systems, but
not on 64-bit systems.

(cherry picked from commit 39111585a2)
2020-07-08 10:38:11 +02:00
Nikita Popov
2af1d36bc5 Skip special function optimization for redeclared disabled functions
As pointed out on GH-5817.
2020-07-08 10:11:00 +02:00
Sara Golemon
f1a343439d Merge branch 'PHP-7.4'
* PHP-7.4:
  Prep for 7.2.33
  Prep NEWS for 7.2.32 release
2020-07-07 19:35:17 +00:00
Sara Golemon
fef26361d0 Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
  Prep for 7.2.33
  Prep NEWS for 7.2.32 release
2020-07-07 19:34:08 +00:00
Sara Golemon
e54f18ae0f Merge branch 'PHP-7.2' into PHP-7.3
* PHP-7.2:
  Prep for 7.2.33
  Prep NEWS for 7.2.32 release
2020-07-07 19:33:48 +00:00
Sara Golemon
c68d48de9e Prep for 7.2.33 2020-07-07 19:32:15 +00:00
Sara Golemon
9588c8474e Prep NEWS for 7.2.32 release 2020-07-07 19:31:05 +00:00
Dmitry Stogov
ab5f8f4baf More accurate reference-counter inference (with support for ext/intl/tests/bug72241.phpt) 2020-07-07 19:11:27 +03:00
Nikita Popov
15c265b789 Revert "More accurate reference-counter inference"
This reverts commit b35255ad21.

Temporarily revert this, because it causes a memory leak on the
ext/intl/tests/bug72241.phpt test case, because temporary arrays
are not handled correctly.
2020-07-07 16:53:00 +02:00
Nikita Popov
e45f7053cf Merge branch 'PHP-7.4'
* PHP-7.4:
  Fixed bug #79793
2020-07-07 16:33:06 +02:00
Nikita Popov
77acc8a069 Fixed bug #79793
Make sure the string key is not released while throwing the
undefined index warning.
2020-07-07 16:29:48 +02:00
Nikita Popov
beb002a867 Fixed bug #79791
First throw the undefined variable warning, and then set the
variable to null. Otherwise we're not guaranteed that it's
actually null afterwards.
2020-07-07 16:00:50 +02:00
Nikita Popov
6259eff352 Handle dim_w undefined variable notice in JIT as well 2020-07-07 15:30:43 +02:00
Nikita Popov
0e6ec974fb Check for undef variable exception in SEND_VAR JIT
Add a return value to zend_jit_undefined_op_helper(), so we can
check for exception based on the return value, instead of fetching
EG(exception).
2020-07-07 15:22:46 +02:00
Nikita Popov
cdc4ea2a5c JIT support for undefined index/offset handling 2020-07-07 15:13:03 +02:00
Nikita Popov
f497b69944 Merge branch 'PHP-7.4'
* PHP-7.4:
  Fixed bug #79784
2020-07-07 14:24:39 +02:00
Nikita Popov
62bec0e083 Fixed bug #79784
The fix here is essentially the same as for bug #78598, just for
the undefined variable notice, rather than the undefined index one.
2020-07-07 14:22:58 +02:00
Christoph M. Becker
3595ebcd26 [ci skip] Merge branch 'PHP-7.4'
* PHP-7.4:
  Don't use deprecated curly brace offset syntax
2020-07-07 13:57:58 +02:00
Christoph M. Becker
b0014adb02 [ci skip] Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
  Don't use deprecated curly brace offset syntax
2020-07-07 13:56:47 +02:00
Christoph M. Becker
f23bd48892 Don't use deprecated curly brace offset syntax
(cherry picked from commit 7ec3aa1871)

Better safe than sorry in case someone ever builds PHP 7.3 with a
future version of PHP SDK with bundled PHP 8.
2020-07-07 13:55:08 +02:00
Christoph M. Becker
af32f96c23 Merge branch 'PHP-7.4'
* PHP-7.4:
  Don't use deprecated curly brace offset syntax
2020-07-07 13:26:42 +02:00
Christoph M. Becker
7ec3aa1871 Don't use deprecated curly brace offset syntax 2020-07-07 13:24:41 +02:00
Nikita Popov
2c73bf7e3f Merge branch 'PHP-7.4'
* PHP-7.4:
  Fixed bug #78598
2020-07-07 12:28:35 +02:00
Nikita Popov
220880ad2d Fixed bug #78598
When performing an RW modification of an array offset, the undefined
offset warning may call an error handler / OB callback, which may
destroy the array we're supposed to change. Detect this by temporarily
incrementing the reference count. If we find that the array has been
modified/destroyed in the meantime, we do nothing -- the execution
model here would be that the modification has happened on the destroyed
version of the array.
2020-07-07 12:13:58 +02:00
Nikita Popov
ecf368b8f2 Merge branch 'PHP-7.4'
* PHP-7.4:
  Fixed bug #79792
2020-07-07 12:00:34 +02:00
Nikita Popov
48a247178e Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
  Fixed bug #79792
2020-07-07 11:59:40 +02:00
Nikita Popov
64931fd3c4 Fixed bug #79792
We need to remove the iterators even if the array is empty (we
will not create one if the first place, but the array may become
empty after the fact).
2020-07-07 11:58:25 +02:00
Nikita Popov
b48bd671b8 Assert no exception if using NEXT_OPCODE()
When NEXT_OPCODE() is used instead of NEXT_OPCODE_CHECK_EXCEPTION(),
assert that there is indeed no exception.
2020-07-07 11:34:43 +02:00
Nikita Popov
5d0687e895 Assert exception set in HANDLE_EXCEPTION()
Some code paths were checking this manually, but we can turn this
into a general assertion to avoid surprises (functions returning
failure without throwing).
2020-07-07 11:31:05 +02:00
Nikita Popov
fb91611276 Remove #undefs from vm_gen
Possibly these were needed for VM_EXPORT, but they don't serve a
purpose now.
2020-07-07 11:25:28 +02:00
Nikita Popov
002c264d07 Remove ZEND_VM_EXPORT functionality
This hasn't been used since forever and makes things more confusing
than they already are.
2020-07-07 11:23:28 +02:00
Nikita Popov
eaf6303a74 Fixed bug #79790
I haven't tracked down in detail where the interaction with
increment_function comes from, but the root problem here is failure
to handle the illegal offset type exception.
2020-07-07 10:56:55 +02:00
Nikita Popov
e0743d0f91 Merge branch 'PHP-7.4'
* PHP-7.4:
  Fixed bug #79779
2020-07-07 10:27:53 +02:00
Nikita Popov
6a9d934b2c Fixed bug #79779
ASSIGN_OBJ_REF was not handling in zend_wrong_string_offset.
2020-07-07 10:27:22 +02:00
Nikita Popov
7da8c48a9b Merge branch 'PHP-7.4'
* PHP-7.4:
  Fixed bug #79778
2020-07-07 10:20:31 +02:00
Nikita Popov
d9b4974cbc Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
  Fixed bug #79778
2020-07-07 10:20:11 +02:00
Nikita Popov
b765f96f5f Fixed bug #79778
In the interest of avoiding side-effects during dumping, I'm
replacing the value with a <constant ast> string instead of
performing an update constant operation.
2020-07-07 10:19:39 +02:00
Nikita Popov
1e39469678 Merge branch 'PHP-7.4'
* PHP-7.4:
  Fixed bug #79783
2020-07-07 09:57:07 +02:00