Commit Graph

56006 Commits

Author SHA1 Message Date
Christoph M. Becker
7355ab8176 Fix #79797: Use of freed hash key in the phar_parse_zipfile function
We must not use heap memory after we freed it.
2020-08-02 15:31:29 -07:00
Levi Morrison
853eb8373f Default assert.exception to 1 2020-08-02 13:39:35 -06:00
Gabriel Caruso
e3d06fc79d
Ensure correct signatures for magic methods 2020-08-02 01:29:56 +02:00
Máté Kocsis
bdacd2ae8f
Add a few missing types to stubs 2020-08-01 23:55:08 +02:00
Máté Kocsis
9f44eca6b6
Convert resources to objects in ext/openssl
Closes GH-5860

Co-authored-by: Nikita Popov <nikita.ppv@gmail.com>
2020-08-01 22:47:20 +02:00
Tyson Andre
97f10fc341 Allow overriding completion in auto_prepend_file
Currently, it's possible to override `php -a`s completion
functionality to provide an alternative to the C implementation,
with `readline_completion_function()`.

However, that surprisingly gets overridden when called from
`auto_prepend_file`, because those scripts get run before the interactive shell
is started. I believe that not overriding it would be more consistent
with what happens when you override the completion function **after** the
interactive shell.

CLI is the only built-in API that uses this (See discussion in GH-5872).
I believe MINIT and RINIT will only run once when invoked with `php -a`.

Add documentation about the architecture of how php uses readline/libedit

Closes GH-5872
2020-08-01 11:39:08 -04:00
Máté Kocsis
ec22e5aa38
Get rid of empty function entries
Closes GH-5917
2020-08-01 10:07:05 +02:00
Nikita Popov
d92229d8c7 Implement named parameters
From an engine perspective, named parameters mainly add three
concepts:

 * The SEND_* opcodes now accept a CONST op2, which is the
   argument name. For now, it is looked up by linear scan and
   runtime cached.
 * This may leave UNDEF arguments on the stack. To avoid having
   to deal with them in other places, a CHECK_UNDEF_ARGS opcode
   is used to either replace them with defaults, or error.
 * For variadic functions, EX(extra_named_params) are collected
   and need to be freed based on ZEND_CALL_HAS_EXTRA_NAMED_PARAMS.

RFC: https://wiki.php.net/rfc/named_params

Closes GH-5357.
2020-07-31 15:53:36 +02:00
George Peter Banyard
9a71d47d73 Throw ValueError on empty tag in enchant_broker_request_dict() 2020-07-31 14:35:14 +01:00
George Peter Banyard
0ba31e19c6 Change leftover RETURN_FALSE to RETURN_THROWS() from 4095c0a 2020-07-31 14:11:10 +01:00
George Peter Banyard
4095c0a28d Promote empty filename to ValueError in BZ2 extension 2020-07-31 14:01:05 +01:00
George Peter Banyard
c3105a1f8d ValueError for empty path in stream code
Closes GH-5902
2020-07-31 13:39:58 +01:00
George Peter Banyard
f78a091014 Warning to ValueError promotion in Intl extension Part 1
Affects:
- IntlCalendar
- IntlGregorianCalendar
- IntlBreakIterator

Closes GH-5669
2020-07-31 13:27:22 +01:00
Dmitry Stogov
b3e12325f6 Fixed JIT when result of ASSIGN is in register, but the original variable might need to be destroyed 2020-07-31 12:31:46 +03:00
Máté Kocsis
d94d426f60
Fix the default value handling of imagegif() 2020-07-31 10:01:08 +02:00
Nikita Popov
47e4001976 Remove more unused func_info fields 2020-07-30 18:50:12 +02:00
Dmitry Stogov
8ea9e1ae4c We check result type guard in FETCH_DIM_R/IS only if index is long or string. 2020-07-30 19:19:10 +03:00
Nikita Popov
9dacc85251 Add type inference support for RECV_VARIADIC 2020-07-30 17:14:34 +02:00
Nikita Popov
104b7addc4 Remove unused recv_arg_info from func_info 2020-07-30 17:04:56 +02:00
Nikita Popov
ce22cf5198 Remove some dead code in RECV type inference
We must always have arg_info corresponding to RECV.
2020-07-30 16:55:21 +02:00
Dmitry Stogov
28eaad0969 Clear result type for exit point caused by JMPZ_EX/NZ_EX 2020-07-30 17:01:08 +03:00
Dmitry Stogov
8b43976483 Fixed memory leaks caused by incorrect AVOID_REFCOUNTING flag 2020-07-30 16:59:41 +03:00
Máté Kocsis
5f25618f83
Add missing RETURN_THROWS() 2020-07-30 14:55:13 +02:00
Máté Kocsis
0d330e1a02
Add a few missing parameter types in stubs
Related to GH-5627
2020-07-30 14:26:45 +02:00
Dmitry Stogov
41de27ecc2 Skip tests leaking because of preloading failure. 2020-07-30 14:04:14 +03:00
Nikita Popov
3690a805c1 Check non-zero in is_power_of_two()
And assert non-zero in floor_log2().

Fixes DASM_S_RANGE_I in ext/simplexml/tests/021.phpt.
2020-07-30 10:17:37 +02:00
Dmitry Stogov
bbbccf0811 Force type update if the previous value was in register only 2020-07-30 01:32:23 +03:00
Dmitry Stogov
713d3ea4e6 Don't skip fcall guard for method calls from trait 2020-07-30 00:31:46 +03:00
Dmitry Stogov
44384dfb3e Fixed temporary register usage 2020-07-29 22:01:19 +03:00
Christoph M. Becker
d95c53834c Amendment to OPcache base file removal
We fix the erroneous segment size.  We also keep the segment pointer at
the allocated address, but increase the position instead.
2020-07-29 18:44:08 +02:00
Christoph M. Becker
88a3bdd1e4 Merge branch 'PHP-7.4'
* PHP-7.4:
  Fix #73060: php failed with error after temp folder cleaned up
2020-07-29 18:31:28 +02:00
Christoph M. Becker
2bcc419800 Fix #73060: php failed with error after temp folder cleaned up
Instead of storing the mapping base address and the address of
`execute_ex()` in a separate file in the temporary folder, we store
them right at the beginning of the memory mapping.
2020-07-29 18:21:05 +02:00
Nikita Popov
d8d2a7801a Merge branch 'PHP-7.4'
* PHP-7.4:
  Consider op1 literal of FETCH_OBJ_R
2020-07-29 17:05:42 +02:00
Nikita Popov
f8ff8bb767 Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
  Consider op1 literal of FETCH_OBJ_R
2020-07-29 17:05:35 +02:00
Nikita Popov
57ad5b3432 Consider op1 literal of FETCH_OBJ_R
FETCH_OBJ_R may have an op1 CONST operand, even though it will
always error. We should take this into account when compacting
literals.
2020-07-29 17:04:23 +02:00
Dmitry Stogov
9e80558047 Load ptoper IP value 2020-07-29 17:37:01 +03:00
Dmitry Stogov
02fae1fc53 Fixed bug #79888 (Incorrect execution with JIT enabled) 2020-07-29 17:32:57 +03:00
Nikita Popov
c6d539ae01 Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
  Fix test
2020-07-29 15:04:23 +02:00
Nikita Popov
99c48a2477 Fix test 2020-07-29 15:04:05 +02:00
Dmitry Stogov
0ef0ea5810 Temporary disable abstract test usage for inferring previous type of variables (previous value may be in CPU register and type of the stack slot may be inconsistent). 2020-07-29 14:58:41 +03:00
Christoph M. Becker
da0f3279ea Merge branch 'PHP-7.4'
* PHP-7.4:
  Revert "Merge branch 'PHP-7.3' into PHP-7.4"
2020-07-29 13:38:53 +02:00
Christoph M. Becker
826b90a5f0 Revert "Merge branch 'PHP-7.3' into PHP-7.4"
This reverts commit e1f6ab3388, reversing
changes made to e0ebe56ebf.

There are obviously issues with running tests in parallel, maybe
related to the cache ID.  This needs to be investigated.  Revert for
now.
2020-07-29 13:32:59 +02:00
Dmitry Stogov
5f2adfb690 Fixed live-range interval construction (close all frames) 2020-07-29 13:11:27 +03:00
twosee
ab9d10d023 Merge branch 'PHP-7.4'
* PHP-7.4:
  Handle bindto error
2020-07-29 17:48:01 +08:00
twosee
12bd3cc146 Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
  Handle bindto error
2020-07-29 17:46:57 +08:00
twosee
0b8c83f593 Handle bindto error
Closes GH-5903.
2020-07-29 17:46:27 +08:00
Christoph M. Becker
fc3439a7b3 Merge branch 'PHP-7.4'
* PHP-7.4:
  Fix #73060: php failed with error after temp folder cleaned up
2020-07-29 10:17:22 +02:00
Christoph M. Becker
e1f6ab3388 Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
  Fix #73060: php failed with error after temp folder cleaned up
2020-07-29 10:11:29 +02:00
Christoph M. Becker
9a744c66e7 Fix #73060: php failed with error after temp folder cleaned up
Instead of storing the mapping base address and the address of
`execute_ex()` in a separate file in the temporary folder, we store
them right at the beginning of the memory mapping.
2020-07-29 10:07:23 +02:00
Dmitry Stogov
709925a03a Use inline function instead of macro 2020-07-29 10:42:12 +03:00
Dmitry Stogov
4b4869ffe3 Merge common "cold" part 2020-07-29 10:10:37 +03:00
George Peter Banyard
b2248789ed Implement 'Saner Numeric Strings' RFC:
RFC: https://wiki.php.net/rfc/saner-numeric-strings

This removes the -1 allow_error mode from is_numeric_string functions and replaces it by
a trailing boolean out argument to preserve BC in a couple of places.

Most of the changes can be resumed to "numeric" strings which emitted a E_NOTICE now emit
a E_WARNING and "numeric" strings which emitted a E_WARNING now throw a TypeError.

This mostly affects:
 - String offsets
 - Arithmetic operations
 - Bitwise operations

Closes GH-5762
2020-07-29 02:51:09 +01:00
Andrea Faulds
f759936591 Permit trailing whitespace in numeric strings
This is part 1 of the 'Saner Numeric Strings' RFC:
https://wiki.php.net/rfc/saner-numeric-strings
2020-07-29 02:22:38 +01:00
Dmitry Stogov
99ee73e6a9 Fixed incorrect reuse of exit_point 2020-07-28 23:31:58 +03:00
George Peter Banyard
73e070a614 Refactor user streams to use ZPP class check
Closes GH-5876
2020-07-28 17:12:40 +01:00
Dmitry Stogov
2a72778e2d Check for EG(exception) after leaving function frame 2020-07-28 19:03:05 +03:00
Dmitry Stogov
251e667488 Prevent incorrect optimization 2020-07-28 19:02:08 +03:00
Máté Kocsis
ac0da090ae
Fix UNKNOWN default values in ext/mbstring and ext/gd
Closes GH-5598
2020-07-28 17:06:25 +02:00
David Carlier
118fa69e70 Check for shm_open() in libroot to support Haiku
Resides on libroot (system runtime) on this platform.

Closes GH-5892.
2020-07-28 16:33:17 +02:00
Theodore Brown
470d1696d9 Implement Shorter Attribute Syntax
RFC: https://wiki.php.net/rfc/shorter_attribute_syntax

Closes GH-5796.

Co-authored-by: Martin Schröder <m.schroeder2007@gmail.com>
2020-07-28 15:28:57 +02:00
Christoph M. Becker
44ad2db15f Merge branch 'PHP-7.4'
* PHP-7.4:
  Fix #79806: realpath() erroneously resolves link to link
2020-07-28 14:02:25 +02:00
Christoph M. Becker
e0ebe56ebf Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
  Fix #79806: realpath() erroneously resolves link to link
2020-07-28 14:00:52 +02:00
Christoph M. Becker
c756f82c02 Fix #79806: realpath() erroneously resolves link to link
After resolving reparse points, the path still may be a reparse point;
in that case we have to resolve that reparse point as well.
2020-07-28 13:55:22 +02:00
Dmitry Stogov
f41bceb94e Move asserts to better places 2020-07-28 13:38:43 +03:00
Côme Chilliet
b71b696826 Merge branch 'master' of git.php.net:/php-src
* 'master' of git.php.net:/php-src:
  Replace ZEND_JIT_TRACE_MAX_EXIT_COUNTERS constant by opcache.jit_max_exit_counters configuration directive
  Fix use-after-free when nullsafe used with constant LHS
2020-07-28 10:32:03 +02:00
Côme Chilliet
08dcb8e604 Merge branch 'PHP-7.4'
* PHP-7.4:
  Updated NEWS
  fix memory leaks in ext/ldap/ldap.c
  fix memory leaks in ext/ldap/ldap.c
2020-07-28 10:29:59 +02:00
Paweł Tomulik
fef5a9e502 fix memory leaks in ext/ldap/ldap.c 2020-07-28 10:27:22 +02:00
Paweł Tomulik
efe6d96b45 fix memory leaks in ext/ldap/ldap.c 2020-07-28 10:23:10 +02:00
Dmitry Stogov
8a42f357bf Replace ZEND_JIT_TRACE_MAX_EXIT_COUNTERS constant by opcache.jit_max_exit_counters configuration directive 2020-07-28 11:18:18 +03:00
Dmitry Stogov
2dbb4ecfa1 Avoid redundand EX(opline) initialization 2020-07-28 04:16:16 +03:00
Dmitry Stogov
fd56fd2279 Always record ZEND_JIT_TRACE_START and ZEND_JIT_TRACE_END 2020-07-28 03:23:28 +03:00
Dmitry Stogov
226617d358 Update abstarct stack before guard to keep proper type in side trace 2020-07-28 00:14:28 +03:00
Dmitry Stogov
274131e4af Fixed incorrect side exit opline of "fake" init_fcall guard 2020-07-27 23:27:07 +03:00
Benjamin Eberlei
eaeceb3293 Consolidate Parameter Names For ext/simplexml
Co-authored-by: Thomas Weinert <thomas@weinert.info>
2020-07-27 21:42:33 +02:00
Benjamin Eberlei
8a6bc6767d Consolidate Parameter Names For ext/dom
Co-authored-by: Thomas Weinert <thomas@weinert.info>
2020-07-27 21:42:33 +02:00
Dmitry Stogov
ee00f51e0a Correct assertion 2020-07-27 21:53:58 +03:00
Dmitry Stogov
fbb18e4409 Fixed incorrect abstract stack size calculation 2020-07-27 21:11:07 +03:00
Nikita Popov
dc1a6dc0de Remove unused func_info variable 2020-07-27 18:40:51 +02:00
Nikita Popov
d4c30ff99b Automatically enable DASM_CHECKS in debug mode 2020-07-27 18:40:03 +02:00
Christoph M. Becker
592f70bc46 Merge branch 'PHP-7.4'
* PHP-7.4:
  Revert "Fix #79806: realpath() erroneously resolves link to link"
2020-07-27 17:53:23 +02:00
Christoph M. Becker
f02507469d Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
  Revert "Fix #79806: realpath() erroneously resolves link to link"
2020-07-27 17:51:56 +02:00
Christoph M. Becker
1aeff522b8 Revert "Fix #79806: realpath() erroneously resolves link to link"
This reverts commit d5b59b4303.
2020-07-27 17:50:41 +02:00
Dmitry Stogov
b23188962e Remove unused fields 2020-07-27 17:31:02 +03:00
Dmitry Stogov
04c3e3182a More accurate checks to eliminate reloading 2020-07-27 17:22:03 +03:00
Nikita Popov
f9f6123941 Fix verify type jit for complex type masks
We should not try to check things like MAY_BE_CALLABLE in the fast
path, because those aren't real types. This is only actively wrong
for the concrete_type case, for the mask case it just uses an
unnecessarily large immediate.
2020-07-27 15:54:22 +02:00
Nikita Popov
e0aa2724c3 Emit diagnostic on dasm_link() failure 2020-07-27 15:54:22 +02:00
Dmitry Stogov
8d773a768f Properly cleanup in case of abort because too many functions in single trace. 2020-07-27 16:37:15 +03:00
Christoph M. Becker
54e15dcd6f Merge branch 'PHP-7.4'
* PHP-7.4:
  Fix #79806: realpath() erroneously resolves link to link
2020-07-27 15:11:39 +02:00
Christoph M. Becker
85a26fef11 Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
  Fix #79806: realpath() erroneously resolves link to link
2020-07-27 15:10:22 +02:00
Christoph M. Becker
d5b59b4303 Fix #79806: realpath() erroneously resolves link to link
After resolving reparse points, the path still may be a reparse point;
in that case we have to resolve that reparse point as well.
2020-07-27 15:08:39 +02:00
Nikita Popov
6d97e7f0e9 JIT internal functions with return type in debug mode
The return type check is just a debug assertion, it's okay if it
is not performed in JIT mode. We already don't perform all the
argument validation in that case. Just disable the one test that
checks for this.

This removes an annoying discrepancy between debug&release mode.
2020-07-27 15:02:59 +02:00
Dmitry Stogov
52cebf65f8 Prevent setting of incorrect continuation counters 2020-07-27 14:45:02 +03:00
Máté Kocsis
f62ec5cf6c
Fix microtime() test 2020-07-27 13:14:21 +02:00
Derick Rethans
cdc8523300 Last pass of 'More consistent parameter names for date/time functions' 2020-07-27 11:42:13 +01:00
Dmitry Stogov
c56c19cec3 Fixed incorrect reference counting (we shouldn't skip ADDREF for IS_CV result) 2020-07-27 13:18:34 +03:00
Dmitry Stogov
d9f5c44d5f type in comment 2020-07-27 11:13:23 +03:00
Dmitry Stogov
9aa5967a5f Fixed memory leaks 2020-07-27 10:46:58 +03:00
Derick Rethans
f66627abff Another pass of improving ext/date argument names 2020-07-26 10:38:53 +01:00
Máté Kocsis
8664ff7ae1
Cleanup argument handling in ext/reflection
Closes GH-5850
2020-07-24 17:47:42 +02:00
Derick Rethans
e96e4ac726 More consistent parameter names for date/time functions 2020-07-24 11:49:01 +01:00
Dmitry Stogov
0ef8e0c115 Result of branching opcode in side trace is unknown 2020-07-24 13:26:03 +03:00
Nikita Popov
d65d3f5298 Fix bug #79108
Don't expose references in debug_backtrace() or exception traces.
This is regardless of whether the argument is by-reference or not.

As a side-effect of this change, exception traces may now acquire
the interior value of a reference, which may be unexpected for
some internal functions. This is what necessitated the change in
the spl_array sort implementation.
2020-07-24 12:23:34 +02:00
Nikita Popov
27ad19c3e8 Validate collator earlier during sort
Check this once before the sort, instead of on every compare.
Also directly store the UCollator to make things more obvious.
2020-07-24 11:58:10 +02:00
Nikita Popov
7eec281b5e Avoid UNKNOWN default in PDO::query() 2020-07-24 11:44:47 +02:00
Máté Kocsis
70a3a909cd
Add the Z_PARAM_PATH_OR_NULL() and Z_PARAM_ZVAL_OR_NULL() macros 2020-07-24 10:37:35 +02:00
Ilija Tovilo
9bf119832d
Implement nullsafe ?-> operator
RFC: https://wiki.php.net/rfc/nullsafe_operator

Closes GH-5619.

Co-authored-by: Nikita Popov <nikita.ppv@gmail.com>
2020-07-24 10:05:03 +02:00
Dmitry Stogov
bc4201f6b7 Cleanup abstract test usage 2020-07-23 21:38:34 +03:00
Nikita Popov
86882060ab Use zend_call_method in SoapFault::__toString() 2020-07-23 16:45:53 +02:00
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