1
0
mirror of https://github.com/php/php-src.git synced 2026-04-12 18:43:37 +02:00
Commit Graph

55796 Commits

Author SHA1 Message Date
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