Dmitry Stogov
b3e51b7675
Allow keeping result of FETCH_DIM_R in CPU register
2020-07-23 17:08:28 +03:00
Nikita Popov
dc30e1d812
Cleanup SPL instantiation code
2020-07-23 16:00:12 +02:00
Dmitry Stogov
96a1b409df
Don't record "fake" closures
2020-07-23 15:18:28 +03:00
Dmitry Stogov
14400b50d3
We track only arguments of user functions on abstract stack
2020-07-23 13:39:49 +03:00
Dmitry Stogov
7de23662df
Fixed 32-bit build
2020-07-23 12:26:34 +03:00
Dmitry Stogov
f6164b8407
Revert "Fixed DynASM failure"
...
This reverts commit 62ca6b567c .
2020-07-23 12:16:58 +03:00
Dmitry Stogov
62ca6b567c
Fixed DynASM failure
2020-07-23 12:13:33 +03:00
Dmitry Stogov
b0c3ca0e52
Avoid register reloading
2020-07-23 12:08:07 +03:00
Nikita Popov
545928e4b8
Fix some clang warnings
2020-07-23 10:35:40 +02:00
Nikita Popov
b6b6e76937
Try to fix 32-bit NTS build
2020-07-23 09:58:17 +02:00
Christopher Jones
99d2b24b15
Make test decimal to binary conversion expectation more tolerant
2020-07-23 16:31:33 +10:00
Christopher Jones
b2d1736de8
Fix cut/paste error in expected test output
2020-07-23 16:29:51 +10:00
Christoph M. Becker
dd30a3d8ce
Merge branch 'PHP-7.4'
...
* PHP-7.4:
Fix brittle test
2020-07-22 20:47:16 +02:00
Christoph M. Becker
0a59a71947
Merge branch 'PHP-7.3' into PHP-7.4
...
* PHP-7.3:
Fix brittle test
2020-07-22 20:46:28 +02:00
Christoph M. Becker
6b99a8be4d
Fix brittle test
...
This test fails occasionally due to timing issues, because the session
file may have been unlinked by the first `session_start()`'s GC. We
adapt the test expectation to this reality.
2020-07-22 20:45:56 +02:00
twosee
6e92487f66
Fix warnings of strict-prototypes
...
Closes GH-5887.
2020-07-23 00:59:00 +08:00
Nikita Popov
5febd633b9
Accept unsigned instead of enum pdo_attribute_type
...
Driver-specific options get passed to these functions, which are
not part of the pdo_attribute_type enum. Newer GCC versions don't
like that. Accept a simple integr type instead.
2020-07-22 18:28:22 +02:00
Dmitry Stogov
bc1d7b6040
Reserve WIN64 shadow space
2020-07-22 17:49:51 +03:00
Dmitry Stogov
c9434a4af2
Separate and fix deoptimization code generator
2020-07-22 15:04:17 +03:00
Nikita Popov
7a3dcc3e33
Treat namespaced names as single token
...
Namespace names are now lexed as single tokens of type
T_NAME_QUALIFIED, T_NAME_FULLY_QUALIFIED or T_NAME_RELATIVE.
RFC: https://wiki.php.net/rfc/namespaced_names_as_token
Closes GH-5827.
2020-07-22 12:36:05 +02:00
Nikita Popov
acbf7802af
Improved number to string comparison semantics
...
RFC: https://wiki.php.net/rfc/string_to_number_comparison
Closes GH-3886.
2020-07-22 12:23:49 +02:00
Dmitry Stogov
2940839d28
Prevent incorrect trasing JIT TSSA usage for range() result type inference
2020-07-22 13:01:11 +03:00
Nikita Popov
e6ae1bf489
Check dual_it validity in CallbackFilterIterator::accept()
...
Avoid accessing intern->u.cbfilter null pointer, though it's
harmless here.
2020-07-22 11:31:15 +02:00
Nikita Popov
f90c735957
Drop no-op dasm_growpc() call
...
This doesn't do anything, as maxpc=0 is passed. However, ubsan
complains about the memset of a null pointer, so avoid it.
2020-07-22 11:11:36 +02:00
Nikita Popov
aaedbde8b4
Mark zend_jit_patch memory accesses as unaligned
...
This prevents ubsan from complaining.
2020-07-22 11:02:24 +02:00
Nikita Popov
eb04cb5f20
Move checks after zpp in opcache_is_script_cached()
2020-07-22 10:52:50 +02:00
Nikita Popov
80b4d49f90
Merge branch 'PHP-7.4'
...
* PHP-7.4:
Fixed bug #79881
2020-07-22 10:21:29 +02:00
Nikita Popov
657a832a77
Fixed bug #79881
2020-07-22 10:21:24 +02:00
George Peter Banyard
7a3375a08c
Use ZPP callable check for oci_register_taf_callback()
2020-07-22 17:29:30 +10:00
George Peter Banyard
0d146cb3eb
Some cleanup in OCI8 extension for PHP 8
2020-07-22 17:29:30 +10:00
Dmitry Stogov
b5e2b64adc
Fix deoptimization info and corresponding memory leaks
2020-07-21 22:58:24 +03:00
Dmitry Stogov
b44169e9dd
Fixed bug #79864 (JIT segfault in Symfony OptionsResolver)
2020-07-21 20:54:33 +03:00
Máté Kocsis
69a5c561d0
Improve argument types and names in ext/ctype
...
Closes GH-5878
2020-07-21 16:40:47 +02:00
Nikita Popov
df2749da70
Tweak zend_test arginfo/zpp
2020-07-21 15:33:01 +02:00
Nikita Popov
1d4e229ab7
Fix incorrect initialization in date_sunrise()
2020-07-21 15:33:01 +02:00
Dmitry Stogov
0e1e991a89
Switch to tracing JIT by default
2020-07-21 16:15:11 +03:00
Nikita Popov
f7f557926e
Fix arg/func info
...
* mysqli_get_server_info() cannot return null. The underlying API
is infallible.
* mysqli_select_db() func info is redundant.
* mb_detect_order() can only return array|true, not array|false.
Also make the func_info.phpt test that is supposed to catch these
kinds of issues actually work.
2020-07-21 15:00:33 +02:00
Máté Kocsis
5770b66722
Cleanup argument handling of Zend functions and methods
...
Closes GH-5847
2020-07-21 14:47:03 +02:00
Remi Collet
42226fcf03
add ZipArchive::CM_XZ constant (in upcoming libzip 1.8.0)
2020-07-21 14:43:52 +02:00
Dmitry Stogov
7686118212
Fix type recording and side exit information for FE_FETCH_* instructions
2020-07-21 15:39:13 +03:00
Dmitry Stogov
be0d912674
Avoid recording of uninitialized variable
2020-07-21 14:11:19 +03:00
Nikita Popov
ae2b214be2
Check for redundant func info
2020-07-21 13:01:12 +02:00
Nikita Popov
ac56ca0dcc
Separate __call and __soapCall implementations
...
This is overly pedantic, but allows us to enable more arginfo
consistency checks.
2020-07-21 12:59:28 +02:00
Nikita Popov
4dd8fec073
Add stubs for PDO PGSql extension methods
2020-07-21 12:49:37 +02:00
Nikita Popov
1afcced1f0
Add stubs for PDO SQLite extension methods
...
Putting these under a dummy PDO_SQLite_Ext class.
2020-07-21 12:49:36 +02:00
Nikita Popov
4ce9571978
Fix UConvert::getErrorMessage() leak on zpp failure
2020-07-21 12:05:44 +02:00
Nikita Popov
ae81549048
Move SOAP_SERVER_BEGIN_CODE() after zpp
...
This is still very dubious, because there are lots of other "returns"
between the BEGIN and END -- won't that end up not restoring the
original state?
2020-07-21 12:05:42 +02:00
Nikita Popov
b3ea6ce720
Make ReflectionGenerator final
...
This class is not safe against malicious extension / instantiation.
2020-07-21 11:53:00 +02:00
Nikita Popov
3a9036ac54
Stricter verification of func info against arg info
...
Make sure they're actually the same up to cases where func info
allows more accurate expressions. There are some awkward edge cases
around true/false/null limitations in union types.
2020-07-21 11:47:52 +02:00
Dmitry Stogov
447a098ebb
Switch to tracing JIT by default
2020-07-21 12:22:36 +03:00