]> granicus.if.org Git - php/log
php
4 years agoUse standard boolean type as zend_bool typedef
George Peter Banyard [Mon, 8 Jun 2020 10:40:29 +0000 (12:40 +0200)]
Use standard boolean type as zend_bool typedef

Closes GH-5624

4 years agoFix incorrect zend_bool usage for display_errors
George Peter Banyard [Mon, 8 Jun 2020 13:05:58 +0000 (15:05 +0200)]
Fix incorrect zend_bool usage for display_errors

4 years agoFix incorrect usage of zend_bool in Zend globals
George Peter Banyard [Mon, 8 Jun 2020 10:37:52 +0000 (12:37 +0200)]
Fix incorrect usage of zend_bool in Zend globals

4 years agoRemove some special-casing in zend_call_method()
Nikita Popov [Tue, 9 Jun 2020 08:09:48 +0000 (10:09 +0200)]
Remove some special-casing in zend_call_method()

Don't treat the !fn_proxy && !obj_ce case differently. There doesn't
seem to be any need for it, and it will result in subtly different
behavior (e.g. it will accept "Foo::bar" syntax, but break as soon
as you pass in an fn_proxy cache).

4 years agoFix some UNKNOWN default values
Máté Kocsis [Mon, 8 Jun 2020 09:10:56 +0000 (11:10 +0200)]
Fix some UNKNOWN default values

In ext/ffi, ext/intl, ext/mysqli, and ext/pcntl

4 years agoFix new test case for master
Christoph M. Becker [Tue, 9 Jun 2020 06:46:21 +0000 (08:46 +0200)]
Fix new test case for master

4 years agoFix #78750: configure assumes yacc and re2c work
Peter Kokot [Sun, 7 Jun 2020 19:53:39 +0000 (21:53 +0200)]
Fix #78750: configure assumes yacc and re2c work

Closes GH-5681

4 years agoAdd missing terminators in zend_language_parser.y
Ilija Tovilo [Mon, 8 Jun 2020 20:47:30 +0000 (22:47 +0200)]
Add missing terminators in zend_language_parser.y

Closes GH-5688

4 years agoMake zend_argument_error_variadic static
twosee [Mon, 8 Jun 2020 14:48:11 +0000 (22:48 +0800)]
Make zend_argument_error_variadic static

Closes GH-5687

4 years agoMerge branch 'PHP-7.4'
Christoph M. Becker [Mon, 8 Jun 2020 21:28:36 +0000 (23:28 +0200)]
Merge branch 'PHP-7.4'

* PHP-7.4:
  Fix #74267: segfault with streams and invalid data

4 years agoMerge branch 'PHP-7.3' into PHP-7.4
Christoph M. Becker [Mon, 8 Jun 2020 21:22:16 +0000 (23:22 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4

* PHP-7.3:
  Fix #74267: segfault with streams and invalid data

4 years agoFix #74267: segfault with streams and invalid data
Christoph M. Becker [Mon, 8 Jun 2020 21:19:43 +0000 (23:19 +0200)]
Fix #74267: segfault with streams and invalid data

If the current character is a line break character, it cannot be a tab
or space character, so we would always fail with an invalid sequence
error.  Obviously, these `scan_stat == 4` conditions are meant to be
exclusive.

Furthermore, if `in_pp == NULL || in_left_p == NULL` is true, we hit a
segfault if we are not returning right away.  Obviously, the additional
constraints don't make sense, so we remove them.

4 years agoAdd helper APIs for maybe-interned string creation
twosee [Mon, 8 Jun 2020 10:45:01 +0000 (18:45 +0800)]
Add helper APIs for maybe-interned string creation

Add ZVAL_CHAR/RETVAL_CHAR/RETURN_CHAR as a shortcut for using
ZVAL_INTERNED_STRING and ZSTR_CHAR.

Add zend_string_init_fast() as a helper for the empty string /
one char interned string / zend_string_init() pattern.

Also add corresponding ZVAL_STRINGL_FAST etc macros.

Closes GH-5684.

4 years agoOptimize out no-op `yield from` statements
Tyson Andre [Sun, 7 Jun 2020 17:17:40 +0000 (13:17 -0400)]
Optimize out no-op `yield from` statements

If the array is empty, then I'd expect that the generator is never left,
and that can be converted to a no-op and the return value would always be `null`.

Make `yield from [];` as efficient as `if (false) { yield null; }`
when opcache's sccp pass is enabled.

Closes GH-5679

4 years agoDon't allow variables as attribute name
Nikita Popov [Mon, 8 Jun 2020 12:34:04 +0000 (14:34 +0200)]
Don't allow variables as attribute name

Attributes require a static class name...

This fixes https://oss-fuzz.com/testcase-detail/6267052359942144.

4 years agoFix bug #77966: Cannot alias a method named "namespace"
Nikita Popov [Fri, 5 Jun 2020 14:55:20 +0000 (16:55 +0200)]
Fix bug #77966: Cannot alias a method named "namespace"

This is a bit tricky: In this cases we have "namespace as", which
means that we will only recognize "namespace" as an identifier when
the lookahead token is already at the "as". This means that
zend_lex_tstring picks up the wrong identifier.

We solve this by actually assigning the identifier as the semantic
value on the parser stack -- as in almost all cases we will not
actually need the identifier, this is just an (offset, size)
reference, not a copy of the string.

Additionally, we need to teach the lexer feedback mechanism used
by tokenizer TOKEN_PARSE mode to apply feedback to something
other than the very last token. To that purpose we pass through
the token text and check the tokens in reverse order to find the
right one.

Closes GH-5668.

4 years agoFix typo of IteratorAggregateImpl
Phil Davis [Mon, 8 Jun 2020 08:29:29 +0000 (14:14 +0545)]
Fix typo of IteratorAggregateImpl

Closes GH-5682.

4 years agoMerge branch 'PHP-7.4'
Nikita Popov [Mon, 8 Jun 2020 09:32:24 +0000 (11:32 +0200)]
Merge branch 'PHP-7.4'

* PHP-7.4:
  Fixed bug #79657

4 years agoFixed bug #79657
Nikita Popov [Mon, 8 Jun 2020 09:31:28 +0000 (11:31 +0200)]
Fixed bug #79657

Throwing an exception should count as an initialization for this
purpose.

4 years agoFixed incorrect zend_bool type usage
Dmitry Stogov [Mon, 8 Jun 2020 09:18:05 +0000 (12:18 +0300)]
Fixed incorrect zend_bool type usage

4 years agoConstify char * arguments of APIs
twosee [Sun, 7 Jun 2020 09:01:19 +0000 (17:01 +0800)]
Constify char * arguments of APIs

Closes GH-5676.

4 years agoMerge branch 'PHP-7.4'
Nikita Popov [Mon, 8 Jun 2020 08:36:01 +0000 (10:36 +0200)]
Merge branch 'PHP-7.4'

* PHP-7.4:
  Disable mysqlnd compression on msan build

4 years agoDisable mysqlnd compression on msan build
Nikita Popov [Mon, 8 Jun 2020 08:35:05 +0000 (10:35 +0200)]
Disable mysqlnd compression on msan build

This recently got enabled when detection was fixed. However,
we don't want this for msan builds, because our zlib is not
instrumented.

4 years agoFix leak in openssl_cms_read()
Nikita Popov [Mon, 8 Jun 2020 08:13:25 +0000 (10:13 +0200)]
Fix leak in openssl_cms_read()

4 years ago[skip ci] typo
Remi Collet [Mon, 8 Jun 2020 06:02:48 +0000 (08:02 +0200)]
[skip ci] typo

4 years agoDeprecate function aliases in oci8 extension.
Jens de Nies [Sun, 17 May 2020 21:48:01 +0000 (23:48 +0200)]
Deprecate function aliases in oci8 extension.

Closes GH-5589

4 years agoUpdate NEWS and UPGRADING for the OpenSSL ext CMS addition
Jakub Zelenka [Sun, 7 Jun 2020 20:11:09 +0000 (21:11 +0100)]
Update NEWS and UPGRADING for the OpenSSL ext CMS addition

4 years agoAdd support for Cryptographic Message Syntax (CMS)
Eliot Lear [Mon, 9 Mar 2020 15:01:20 +0000 (16:01 +0100)]
Add support for Cryptographic Message Syntax (CMS)

It add CMS (RFC 5652) support, which is an update to PKCS7.  The functions
are analogous BUT NOT IDENTICAL to openssl_pkcs7*.  In particular, support for
different encodings (PEM, DER, SMIME) is now available.

4 years agoAdd $filter parameter for ReflectionClass::(getConstants|getReflectionConstants)
Gabriel Caruso [Sat, 30 May 2020 22:17:31 +0000 (00:17 +0200)]
Add $filter parameter for ReflectionClass::(getConstants|getReflectionConstants)

This solves [#79628](https://bugs.php.net/79628).

Similar to `ReflectionClass::getMethods()` and `ReflectionClass::getProperties()`,
this new `$filter` argument allows the filtering of constants defined in a class by
their visibility.

For that, we create three new constants for `ReflectionClassConstant`:

  * `IS_PUBLIC`
  * `IS_PROTECTED`
  * `IS_PRIVATE`

Closes GH-5649.

4 years agoFix tests' description for `ReflectionClass::getConstant`
Gabriel Caruso [Sat, 30 May 2020 21:21:39 +0000 (23:21 +0200)]
Fix tests' description for `ReflectionClass::getConstant`

4 years agoFix expression warnings and break warnings
twosee [Sun, 7 Jun 2020 00:38:13 +0000 (08:38 +0800)]
Fix expression warnings and break warnings

Close GH-5675.

4 years agoMerge branch 'PHP-7.4'
Nikita Popov [Sun, 7 Jun 2020 08:38:50 +0000 (10:38 +0200)]
Merge branch 'PHP-7.4'

* PHP-7.4:
  Allow defining of uname value for reproducible builds

4 years agoAllow defining of uname value for reproducible builds
Jelle van der Waa [Fri, 5 Jun 2020 20:50:58 +0000 (22:50 +0200)]
Allow defining of uname value for reproducible builds

Extend configure.ac to accept PHP_UNAME as env variable to set the value of the
PHP_UNAME define in a reproducible manner. This allows distributions to set a
fixed value for php_uname and keep the default behaviour if PHP_UNAME is not
set.

Motivation: https://reproducible-builds.org/

Closes GH-5671.

4 years agoRemove duplicate zend_try
twosee [Sat, 6 Jun 2020 10:12:05 +0000 (18:12 +0800)]
Remove duplicate zend_try

Closes GH-5672.

4 years agoFix warning of strict-prototypes
twosee [Sat, 6 Jun 2020 12:13:38 +0000 (20:13 +0800)]
Fix warning of strict-prototypes

Closes GH-5673.

4 years agoFix free of uninitialized memory in attributes
Nikita Popov [Sun, 7 Jun 2020 08:24:03 +0000 (10:24 +0200)]
Fix free of uninitialized memory in attributes

Fixes OSS-Fuzz #23140.

4 years agomove comment
Remi Collet [Sun, 7 Jun 2020 06:16:50 +0000 (08:16 +0200)]
move comment

4 years agoFixed bug #79678 Build fails due to undeclared ZIP_RDONLY
Remi Collet [Sun, 7 Jun 2020 05:53:14 +0000 (07:53 +0200)]
Fixed bug #79678 Build fails due to undeclared ZIP_RDONLY

4 years agoFix invalid usage of zend_bool in DOM extension
George Peter Banyard [Sat, 6 Jun 2020 13:02:17 +0000 (15:02 +0200)]
Fix invalid usage of zend_bool in DOM extension

4 years agoFix BC break of zend_throw_exception
twosee [Sat, 6 Jun 2020 06:47:39 +0000 (14:47 +0800)]
Fix BC break of zend_throw_exception

This also fixes a SegFault

Closes GH-5670

4 years agoAdd tests to check mismatching function signatures
Máté Kocsis [Fri, 5 Jun 2020 12:40:40 +0000 (14:40 +0200)]
Add tests to check mismatching function signatures

Closes GH-5666

4 years agoopenssl: Fix openssl_pkcs12_export_to_file extracerts test
Nicolas Frandeboeuf [Fri, 5 Jun 2020 10:23:36 +0000 (12:23 +0200)]
openssl: Fix openssl_pkcs12_export_to_file extracerts test

Same as https://github.com/php/php-src/pull/2681/files but for openssl_pkcs12_export_to_file

Closes GH-5665

4 years agoRefactor IntlBreakIterator::next() handling
George Peter Banyard [Fri, 5 Jun 2020 17:01:13 +0000 (19:01 +0200)]
Refactor IntlBreakIterator::next() handling

4 years agoConvert code path which should never happen to assertion
George Peter Banyard [Fri, 5 Jun 2020 16:00:56 +0000 (18:00 +0200)]
Convert code path which should never happen to assertion

4 years agoencode param is optional
Remi Collet [Fri, 5 Jun 2020 15:08:21 +0000 (17:08 +0200)]
encode param is optional

4 years agoMerge branch 'PHP-7.4'
Nikita Popov [Fri, 5 Jun 2020 14:27:09 +0000 (16:27 +0200)]
Merge branch 'PHP-7.4'

* PHP-7.4:
  Remove unnecessary "poo" rmdirs

4 years agoRemove unnecessary "poo" rmdirs
Nikita Popov [Fri, 5 Jun 2020 14:26:09 +0000 (16:26 +0200)]
Remove unnecessary "poo" rmdirs

"poo" was only used in the opendir_edgecases test, but rmdir'ed
in some other tests as well.

I've also taken the liberty of renaming this directory...

4 years agobump zip version
Remi Collet [Fri, 5 Jun 2020 14:23:43 +0000 (16:23 +0200)]
bump zip version

4 years agoImplement "Constructor Promotion" RFC
Nikita Popov [Tue, 24 Mar 2020 12:18:28 +0000 (13:18 +0100)]
Implement "Constructor Promotion" RFC

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

Closes GH-5291.

4 years agomicro-optimization
Dmitry Stogov [Fri, 5 Jun 2020 11:20:39 +0000 (14:20 +0300)]
micro-optimization

4 years agoDrop hard-coded /W3 default in favor of custom CFLAGS
Christoph M. Becker [Wed, 27 May 2020 10:01:16 +0000 (12:01 +0200)]
Drop hard-coded /W3 default in favor of custom CFLAGS

Building with `/W3` shows an awful lot of warnings on Windows, so it's
really hard to spot the more important ones.  Since it is not possible
to override the hard-coded `/W3`, we drop it altogether, so MSVC uses
the default `/W1`.  Users are encouraged to increase the warning level
via the environment variable `CFLAGS` before doing configure.

We also enable `/WX` (treat warnings as errors) for AppVeyor CI, using
`/W1` for now, since otherwise the build would fail.

4 years agoFix MSVC level 1 (severe) warnings
Christoph M. Becker [Wed, 27 May 2020 07:58:10 +0000 (09:58 +0200)]
Fix MSVC level 1 (severe) warnings

We fix (hopefully) all instances of:

* <https://docs.microsoft.com/en-us/cpp/error-messages/compiler-warnings/compiler-warning-level-1-c4005>
* <https://docs.microsoft.com/en-us/cpp/error-messages/compiler-warnings/compiler-warning-level-1-c4024>
* <https://docs.microsoft.com/en-us/cpp/error-messages/compiler-warnings/compiler-warning-level-1-c4028>
* <https://docs.microsoft.com/en-us/cpp/error-messages/compiler-warnings/compiler-warning-level-1-c4047>
* <https://docs.microsoft.com/en-us/cpp/error-messages/compiler-warnings/compiler-warning-level-1-c4087>
* <https://docs.microsoft.com/en-us/cpp/error-messages/compiler-warnings/compiler-warning-level-1-c4090>
* <https://docs.microsoft.com/en-us/cpp/error-messages/compiler-warnings/compiler-warning-level-1-c4273>
* <https://docs.microsoft.com/en-us/cpp/error-messages/compiler-warnings/compiler-warning-level-1-c4312>

`zend_llist_add_element()` and `zend_llist_prepend_element()` now
explicitly expect a *const* pointer.

We use the macro `ZEND_VOIDP()` instead of a `(void*)` cast to suppress
C4090; this should prevent accidential removal of the cast by
clarifying the intention, and makes it easier to remove the casts if
the issue[1] will be resolved sometime.

[1] <https://developercommunity.visualstudio.com/content/problem/390711/c-compiler-incorrect-propagation-of-const-qualifie.html>

4 years agoMerge branch 'PHP-7.4'
Nikita Popov [Fri, 5 Jun 2020 08:52:07 +0000 (10:52 +0200)]
Merge branch 'PHP-7.4'

* PHP-7.4:
  Update intl test suite for ICU 67.1

4 years agoUpdate intl test suite for ICU 67.1
Christoph M. Becker [Fri, 24 Apr 2020 08:43:42 +0000 (10:43 +0200)]
Update intl test suite for ICU 67.1

Cherry-picked from c915c601710e2a44e6c7f89fcb12b8047c968108.

4 years agoFree attribute validators on shutdown
Nikita Popov [Fri, 5 Jun 2020 08:36:35 +0000 (10:36 +0200)]
Free attribute validators on shutdown

4 years agoDon't leak attributes on internal classes
Nikita Popov [Fri, 5 Jun 2020 08:29:49 +0000 (10:29 +0200)]
Don't leak attributes on internal classes

Also add zend_hash_release() API to complement zend_array_release(),
because the latter is specific to non-persistent zval arrays.

4 years agoMerge branch 'PHP-7.4'
Nikita Popov [Fri, 5 Jun 2020 08:10:52 +0000 (10:10 +0200)]
Merge branch 'PHP-7.4'

* PHP-7.4:
  Respect --program-prefix/suffix when installing phar

4 years agoRespect --program-prefix/suffix when installing phar
Nathan Porter [Sat, 30 May 2020 22:39:11 +0000 (15:39 -0700)]
Respect --program-prefix/suffix when installing phar

Currently ./configure --enable-phar --program-suffix=7.4 will
result in binaries named php7.4 and phar but should instead
result in php7.4 and phar7.4

Closes GH-5650.

4 years agoPass zend_string message to zend_error_cb
Nikita Popov [Fri, 29 May 2020 08:33:22 +0000 (10:33 +0200)]
Pass zend_string message to zend_error_cb

This makes the zend_error_cb API simpler, and avoid formatting
the same message in multiple places.

It should be noted that the passed zend_string is always
non-persistent, so if you want to store it persistently somewhere,
you may still need to duplicate it.

The last_error_message is cleared a bit more aggressive, to make
sure it doesn't hang around across allocator life-cycles.

Closes GH-5639.

4 years agoFixed bug #72089: Throw Error on require failure
Nikita Popov [Fri, 29 May 2020 15:27:51 +0000 (17:27 +0200)]
Fixed bug #72089: Throw Error on require failure

It should be noted that we still throw the usual fopen warnings,
but the final fatal error becomes an Error exception. Combine
with @ to suppress FS warnings.

Closes GH-5641.

4 years agoFix phpdbg watchpoints wrt. negative_array_index RFC
Christoph M. Becker [Thu, 4 Jun 2020 15:15:59 +0000 (17:15 +0200)]
Fix phpdbg watchpoints wrt. negative_array_index RFC

The implementation of that RFC changed the initial value of
`zend_array.nNextFreeElement` to `-1`; we work around that by inserting
first, and retrieving the index afterwards.

We also fix the erroneous printf specifier for the unsigned integer.

4 years agoAvoid useless "mov"
Dmitry Stogov [Thu, 4 Jun 2020 21:05:12 +0000 (00:05 +0300)]
Avoid useless "mov"

4 years agoFix weird zend_bool usage in Intl Calendar::roll() method
George Peter Banyard [Tue, 2 Jun 2020 23:13:04 +0000 (01:13 +0200)]
Fix weird zend_bool usage in Intl Calendar::roll() method

This code really needs to be review as it's convoluted for no good reason.

4 years agoin_array() avoid internal property access as we have the arrlen already
Matthias Dötsch [Thu, 4 Jun 2020 16:58:41 +0000 (18:58 +0200)]
in_array() avoid internal property access as we have the arrlen already

Closes GH-5662

4 years agoAdd upgrading note for Attributes RFC
Benjamin Eberlei [Thu, 4 Jun 2020 16:21:18 +0000 (18:21 +0200)]
Add upgrading note for Attributes RFC

[ci-skip]

4 years agoAdd Attributes
Benjamin Eberlei [Sun, 24 May 2020 18:57:00 +0000 (20:57 +0200)]
Add Attributes

Co-authored-by: Martin Schröder <m.schroeder2007@gmail.com>
4 years agoMerge branch 'PHP-7.4'
Christoph M. Becker [Thu, 4 Jun 2020 11:40:16 +0000 (13:40 +0200)]
Merge branch 'PHP-7.4'

* PHP-7.4:
  Fix #73527: Invalid memory access in php_filter_strip

4 years agoMerge branch 'PHP-7.3' into PHP-7.4
Christoph M. Becker [Thu, 4 Jun 2020 11:38:14 +0000 (13:38 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4

* PHP-7.3:
  Fix #73527: Invalid memory access in php_filter_strip

4 years agoFix #73527: Invalid memory access in php_filter_strip
Christoph M. Becker [Thu, 4 Jun 2020 09:49:59 +0000 (11:49 +0200)]
Fix #73527: Invalid memory access in php_filter_strip

4 years agoAdd guard for FETCH_DIM_FUNC_ARG
Dmitry Stogov [Thu, 4 Jun 2020 11:04:21 +0000 (14:04 +0300)]
Add guard for FETCH_DIM_FUNC_ARG

4 years agoPrefer shorter x86 instructions
Dmitry Stogov [Thu, 4 Jun 2020 10:19:42 +0000 (13:19 +0300)]
Prefer shorter x86 instructions

4 years agoImplement #47074: phpinfo() reports "On" as 1 for the some extensions
Christoph M. Becker [Wed, 3 Jun 2020 23:03:14 +0000 (01:03 +0200)]
Implement #47074: phpinfo() reports "On" as 1 for the some extensions

What is modified as boolean, should also be displayed as boolean.

4 years agoImproved tracing JIT for FETCH_OBJ_R/IS
Dmitry Stogov [Thu, 4 Jun 2020 09:23:27 +0000 (12:23 +0300)]
Improved tracing JIT for FETCH_OBJ_R/IS

4 years agoRemove MYSQLND_COMPRESSION_WANTED define
Nikita Popov [Thu, 4 Jun 2020 08:03:39 +0000 (10:03 +0200)]
Remove MYSQLND_COMPRESSION_WANTED define

Instead directly define MYSQLND_COMPRESSION_ENABLED. This also
matches what config.w32 does.

4 years agoMerge branch 'PHP-7.4'
Nikita Popov [Thu, 4 Jun 2020 08:02:12 +0000 (10:02 +0200)]
Merge branch 'PHP-7.4'

* PHP-7.4:
  mysqlnd: Remove unnecessary check for HAVE_ZLIB

4 years agomysqlnd: Remove unnecessary check for HAVE_ZLIB
talyz [Wed, 3 Jun 2020 19:21:18 +0000 (21:21 +0200)]
mysqlnd: Remove unnecessary check for HAVE_ZLIB

If MYSQLND_COMPRESSION_WANTED is set, we already guarantee that
zlib is linked, but don't necessarily set HAVE_ZLIB.

Closes GH-5658.

4 years agoMerge branch 'PHP-7.4'
Christoph M. Becker [Thu, 4 Jun 2020 07:11:13 +0000 (09:11 +0200)]
Merge branch 'PHP-7.4'

* PHP-7.4:
  Fix #79668: get_defined_functions(true) may miss functions

4 years agoTracing JIT for FETCH_DIM_FUNC_ARG and FETCH_OBJ_FUNC_ARG when they are used in READ...
Dmitry Stogov [Thu, 4 Jun 2020 07:03:15 +0000 (10:03 +0300)]
Tracing JIT for FETCH_DIM_FUNC_ARG and FETCH_OBJ_FUNC_ARG when they are used in READ mode (to pass by value).

4 years agoMerge branch 'PHP-7.3' into PHP-7.4
Christoph M. Becker [Thu, 4 Jun 2020 06:47:25 +0000 (08:47 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4

* PHP-7.3:
  Fix #79668: get_defined_functions(true) may miss functions

4 years agoFix #79668: get_defined_functions(true) may miss functions
Christoph M. Becker [Wed, 3 Jun 2020 10:05:00 +0000 (12:05 +0200)]
Fix #79668: get_defined_functions(true) may miss functions

Instead of some brittle and unefficient string matching, we can just
check for the function handler.

4 years agoFixed abstract stack consistency for JMPZ_EX/JMPNZ_EX
Dmitry Stogov [Wed, 3 Jun 2020 21:17:13 +0000 (00:17 +0300)]
Fixed abstract stack consistency for JMPZ_EX/JMPNZ_EX

4 years ago"call_info" doesn't matter
Dmitry Stogov [Wed, 3 Jun 2020 19:50:40 +0000 (22:50 +0300)]
"call_info" doesn't matter

4 years agoAvoid useless register reload
Dmitry Stogov [Wed, 3 Jun 2020 15:14:51 +0000 (18:14 +0300)]
Avoid useless register reload

4 years agoFix typo in skipif section
Nikita Popov [Wed, 3 Jun 2020 12:50:35 +0000 (14:50 +0200)]
Fix typo in skipif section

Merge mistake...

4 years agoAvoid useless REFCOUNTED check
Dmitry Stogov [Wed, 3 Jun 2020 09:11:39 +0000 (12:11 +0300)]
Avoid useless REFCOUNTED check

4 years agoFix #79665: ini_get() and opcache_get_configuration() inconsistency
Christoph M. Becker [Tue, 2 Jun 2020 12:58:26 +0000 (14:58 +0200)]
Fix #79665: ini_get() and opcache_get_configuration() inconsistency

Overriding the given INI values in modifier callbacks is not possible,
so instead of enforcing "normalized" internal values, we just reject
the attempted changes.

4 years agoUse cheaper zend_rethrow_exception() instead of zend_throw_exception_internal()
Dmitry Stogov [Wed, 3 Jun 2020 08:51:04 +0000 (11:51 +0300)]
Use cheaper zend_rethrow_exception() instead of zend_throw_exception_internal()

4 years agoMerge branch 'PHP-7.4'
Nikita Popov [Wed, 3 Jun 2020 08:17:27 +0000 (10:17 +0200)]
Merge branch 'PHP-7.4'

* PHP-7.4:
  Report len as -1 instead of INT_MAX

4 years agoReport len as -1 instead of INT_MAX
Nikita Popov [Wed, 3 Jun 2020 08:15:54 +0000 (10:15 +0200)]
Report len as -1 instead of INT_MAX

Per docs it should be -1. And would be on 32-bit systems, but
not on 64-bit systems.

4 years agoMerge branch 'PHP-7.4'
Nikita Popov [Wed, 3 Jun 2020 08:02:31 +0000 (10:02 +0200)]
Merge branch 'PHP-7.4'

* PHP-7.4:
  Skip new watch point test under asan

4 years agoSkip new watch point test under asan
Nikita Popov [Wed, 3 Jun 2020 08:01:57 +0000 (10:01 +0200)]
Skip new watch point test under asan

4 years agoHandle VM interrupts after DO_ICALL through side exits
Dmitry Stogov [Wed, 3 Jun 2020 07:58:17 +0000 (10:58 +0300)]
Handle VM interrupts after DO_ICALL through side exits

4 years ago%d out token IDs in test
Nikita Popov [Wed, 3 Jun 2020 07:57:01 +0000 (09:57 +0200)]
%d out token IDs in test

Avoid having to update this test any time token numbers shift.

4 years agoAvoid reference counting when RETURN CV
Dmitry Stogov [Tue, 2 Jun 2020 21:49:10 +0000 (00:49 +0300)]
Avoid reference counting when RETURN CV

4 years agoAdded missed helper
Dmitry Stogov [Tue, 2 Jun 2020 20:50:32 +0000 (23:50 +0300)]
Added missed helper

4 years agoSkip new test case on Windows when JIT is enabled
Christoph M. Becker [Tue, 2 Jun 2020 15:12:34 +0000 (17:12 +0200)]
Skip new test case on Windows when JIT is enabled

Cf. <http://git.php.net/?p=php-src.git;a=commit;h=c5cf0af8a98cbc574fd315bf9d78033b896886f3>.

4 years agoMerge branch 'PHP-7.4'
Christoph M. Becker [Tue, 2 Jun 2020 13:19:32 +0000 (15:19 +0200)]
Merge branch 'PHP-7.4'

* PHP-7.4:
  Fix #73927: phpdbg fails with windows error prompt at "watch array"

4 years agoFix #73927: phpdbg fails with windows error prompt at "watch array"
Christoph M. Becker [Wed, 27 May 2020 16:26:32 +0000 (18:26 +0200)]
Fix #73927: phpdbg fails with windows error prompt at "watch array"

We expect zvals, so we should request zvals.

We also suppress spurious watchpoint removal notices.

4 years agoTracing JIT support for indirect CV modification (may be incomplete)
Dmitry Stogov [Tue, 2 Jun 2020 12:55:18 +0000 (15:55 +0300)]
Tracing JIT support for indirect CV modification (may be incomplete)

4 years agoAfdded misse MAY_BE_ARRAY_* flags
Dmitry Stogov [Tue, 2 Jun 2020 12:54:44 +0000 (15:54 +0300)]
Afdded misse MAY_BE_ARRAY_* flags