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
Nikita Popov
36db71df47
Merge branch 'PHP-7.4'
2019-07-22 12:28:40 +02:00
Nikita Popov
0ba7c3eadf
Deprecate array_key_exists() on objects
2019-07-22 11:39:52 +02:00
Dmitry Stogov
51442a428c
Merge branch 'PHP-7.4'
...
* PHP-7.4:
Separate "cold" and common unspecialized code
2019-07-17 00:56:06 +03:00
Dmitry Stogov
ee5828205e
Separate "cold" and common unspecialized code
2019-07-17 00:52:26 +03:00
Nikita Popov
70e2d2d0ee
Merge branch 'PHP-7.4'
2019-07-16 15:54:05 +02:00
Nikita Popov
a0f450a023
Remove unused _get_zval_ptr_cv_BP_VAR_UNSET function
...
To fix the macos -Werror build.
2019-07-16 15:53:55 +02:00
Dmitry Stogov
ab2888511b
Merge branch 'PHP-7.4'
...
* PHP-7.4:
Delay IS_UNDEF checks
2019-07-16 11:17:04 +03:00
Dmitry Stogov
1d4c38421a
Delay IS_UNDEF checks
2019-07-16 11:16:45 +03:00
Dmitry Stogov
3c89a3d716
Merge branch 'PHP-7.4'
...
* PHP-7.4:
Separate "cold" parts of comparison instructions
2019-07-11 20:45:12 +03:00
Dmitry Stogov
ef1a1a0698
Separate "cold" parts of comparison instructions
2019-07-11 20:44:39 +03:00
Nikita Popov
106f71cc94
Merge branch 'PHP-7.4'
2019-07-10 12:05:24 +02:00
Nikita Popov
c42b7dd6d3
Throw notice on array access on illegal type
...
No notice is thrown for list() accesses, because we did not come
to an agreement regarding patterns like
while ([$key, $value] = yield $it->next()) { ... }
where silent null access may be desirable.
No effort is made to suppress multiple notices in access chains
likes $x[0][0][0], because the technical complexity this causes
does not seem worthwhile.
RFC: https://wiki.php.net/rfc/notice-for-non-valid-array-container
2019-07-10 12:02:14 +02:00
Nikita Popov
bbd12b3d30
Merge branch 'PHP-7.4'
2019-07-10 11:11:30 +02:00
Nikita Popov
2bca35eacc
Rename support_strings to !is_list
...
In preparation for more behavior that depends on whether it it is
a list() access. Using support_strings for that would be
confusing.
2019-07-10 11:10:17 +02:00
Dmitry Stogov
1b5b8175af
Merge branch 'PHP-7.4'
...
* PHP-7.4:
Replace ZEND_ASSIGN_ADD (and others) by ZEND_ASSIGN_OP, ZEND_ASSIGN_DIM_OP, ZEND_ASSGIN_OBJ_OP and ZEND_ASSIGN_STATIC_PROP_OP
2019-07-05 12:16:30 +03:00
Dmitry Stogov
48ca5a1e17
Replace ZEND_ASSIGN_ADD (and others) by ZEND_ASSIGN_OP, ZEND_ASSIGN_DIM_OP, ZEND_ASSGIN_OBJ_OP and ZEND_ASSIGN_STATIC_PROP_OP
2019-07-05 12:03:25 +03:00
Dmitry Stogov
806e38a3a4
Merge branch 'PHP-7.4'
...
* PHP-7.4:
Improve zend_binary_assign_op helpers. Reorder opcode numbers to make ADD-POW and ASSIGN_ADD-ASSIGN_POW opcodes sequencional.
2019-07-04 17:37:52 +03:00
Dmitry Stogov
ef05eab432
Improve zend_binary_assign_op helpers.
...
Reorder opcode numbers to make ADD-POW and ASSIGN_ADD-ASSIGN_POW opcodes sequencional.
2019-07-04 17:25:43 +03:00
Dmitry Stogov
c98b6d5bb5
Merge branch 'PHP-7.4'
...
* PHP-7.4:
Better optimization in RELEASE build. ZEND_ASSERT(s) prevented optimization
2019-07-03 20:24:26 +03:00
Dmitry Stogov
09041151de
Better optimization in RELEASE build. ZEND_ASSERT(s) prevented optimization
2019-07-03 20:19:56 +03:00
Dmitry Stogov
6188a69b8a
Merge branch 'PHP-7.4'
...
* PHP-7.4:
Optimization of INC/DEC helpers
2019-07-03 10:50:14 +03:00
Dmitry Stogov
56b8b165f8
Optimization of INC/DEC helpers
2019-07-03 10:33:03 +03:00
Dmitry Stogov
afe6e00b6e
Merge branch 'PHP-7.4'
...
* PHP-7.4:
Fixed build without global register variables
2019-07-02 11:03:46 +03:00
Dmitry Stogov
baa883d3fc
Fixed build without global register variables
2019-07-02 11:03:22 +03:00
Dmitry Stogov
97b685f0c1
Merge branch 'PHP-7.4'
...
* PHP-7.4:
Separate slow code
2019-07-02 01:17:05 +03:00
Dmitry Stogov
cbbd473bdd
Separate slow code
2019-07-02 01:16:34 +03:00
Dmitry Stogov
f393502e7f
Merge branch 'PHP-7.4'
...
* PHP-7.4:
Micro-optimization
2019-07-01 16:57:55 +03:00
Dmitry Stogov
f2b6b2eee8
Micro-optimization
2019-07-01 16:57:25 +03:00
Nikita Popov
d82b270fa4
Remove unused zend_verify_arg_type() function
2019-06-21 17:15:02 +02:00
Dmitry Stogov
53bcc2339c
Merge branch 'PHP-7.4'
...
* PHP-7.4:
Cleanup
2019-06-21 11:46:33 +03:00
Dmitry Stogov
e1e8e670df
Cleanup
2019-06-21 11:43:17 +03:00
Nikita Popov
6aaab9adf7
Merge branch 'PHP-7.4'
2019-06-20 16:24:31 +02:00
Nikita Popov
eaafb69eea
Change indexing scheme for symtable_cache
...
symtable_cache_ptr now points to the first unused symtable_cache
entry, rahter than the last used one. This avoids taking a pointer
to the minus first element of the array, which is UB. Instead we
take a pointer to the end plus one, which is not UB.
2019-06-20 16:21:39 +02:00
Nikita Popov
6ae9c10534
Merge branch 'PHP-7.4'
2019-06-19 16:36:29 +02:00
Nikita Popov
268b5fec8e
Fixed bug #78182
2019-06-19 16:35:12 +02:00
Nikita Popov
4d90848d68
Don't verify arginfo types for internal functions
...
To avoid duplicate type checks. In debug builds arginfo is still
checked and will generate an assertions if the function doesn't
subsequently throw an exception.
Some test results change due to differences in zpp and arginfo
error messages.
2019-06-17 11:46:28 +02:00
Nikita Popov
be6c083f28
Allow null for weak scalar arg of internal func in arginfo
...
For parity with zpp.
2019-06-17 11:46:23 +02:00
Nikita Popov
af10245034
Merge branch 'PHP-7.4'
2019-06-13 09:38:19 +02:00
Nikita Popov
b64107531b
Fixed bug #78151
2019-06-13 09:37:30 +02:00
Joe Watkins
f93cd21b52
Merge branch 'PHP-7.4'
...
* PHP-7.4:
Revert "micro-optimization"
This micro optimization caused several bugs in at least Xdebug, while
i_init_func_execute_data is not exported, APIs that are exported call it
this makes their use awkward for no real gain.
2019-06-12 20:21:59 +02:00
Joe Watkins
175c7bf6fe
Revert "micro-optimization"
...
This reverts commit 374f769982
.
2019-06-12 20:04:47 +02:00
Nikita Popov
eea206a06c
Merge branch 'PHP-7.4'
2019-06-12 13:18:04 +02:00
Nikita Popov
080e2316cf
Mark some operand fetching funs as ATTRIBUTE_UNUSED
...
Whether these are used depends on VM specialization.
2019-06-12 13:17:25 +02:00
Dmitry Stogov
2b5a3afead
Merge branch 'PHP-7.4'
...
* PHP-7.4:
micro-optimization
2019-06-10 16:43:36 +03:00
Dmitry Stogov
374f769982
micro-optimization
2019-06-10 16:43:20 +03:00
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