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
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