]> granicus.if.org Git - php/log
php
5 years agoRemove unused is_constructor arguments
Nikita Popov [Mon, 15 Jul 2019 10:35:42 +0000 (12:35 +0200)]
Remove unused is_constructor arguments

5 years agoMerge branch 'PHP-7.4'
Dmitry Stogov [Mon, 15 Jul 2019 08:36:11 +0000 (11:36 +0300)]
Merge branch 'PHP-7.4'

* PHP-7.4:
  vectorize string-escape with NEON

5 years agovectorize string-escape with NEON
Sebastian Pop [Wed, 10 Jul 2019 18:31:27 +0000 (18:31 +0000)]
vectorize string-escape with NEON

On this benchmark:
function simple_string_escape() {
    $a = "test'asd'asd'' asd\'\"asdfasdf";
    for($i=0; $i<512; $i++) {
        $a .= chr($i%256);
    }
    for ($i = 0; $i < 100000; $i++) {
        if ($a === stripslashes(addslashes($a)))
            $a .= chr($i%256);
        else {
            echo "error at i=".$i."\n";
            return;
        }
    }
}
the execution time goes from 21.619s to 8.139s (165% speedup) on an A1 Graviton instance.

When removing the characters that need escaping, i.e., this benchmark:
function simple_string() {
  $a = "testasdasd asdasdfasdf";
  for ($i = 0; $i < 10000; $i++) {
      if ($a === stripslashes(addslashes($a)))
          $a .= "test dedeasdf";
      else {
          echo "error at i=".$i."\n";
          return;
      }
  }
}
the execution time goes from 2.932s down to 0.516s (468% speedup) on an A1 Graviton instance.

5 years agoMerge branch 'PHP-7.4'
Nikita Popov [Mon, 15 Jul 2019 08:29:45 +0000 (10:29 +0200)]
Merge branch 'PHP-7.4'

5 years agoMerge branch 'PHP-7.3' into PHP-7.4
Nikita Popov [Mon, 15 Jul 2019 08:29:37 +0000 (10:29 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4

5 years agoMerge branch 'PHP-7.2' into PHP-7.3
Nikita Popov [Mon, 15 Jul 2019 08:23:27 +0000 (10:23 +0200)]
Merge branch 'PHP-7.2' into PHP-7.3

5 years agoFix bug #78291 Missing opcache directives
Andrew Collington [Sun, 14 Jul 2019 13:49:38 +0000 (14:49 +0100)]
Fix bug #78291 Missing opcache directives

New opcache directives have been added recently which are returned
if using `ini_get_all('zend opcache')` but are not listed in the
directives if using `opcache_get_configuration()`.  This fix adds
those missing directives as well as if `opcache.mmap_base` is used
instead of `opcache.lockfile_path`.  Also adds a test to ensure the
directives match with both methods of fetching.

5 years agoMerge branch 'PHP-7.4'
Peter Kokot [Sun, 14 Jul 2019 21:45:13 +0000 (23:45 +0200)]
Merge branch 'PHP-7.4'

* PHP-7.4:
  Remove usage of PHP_AIX_LDFLAGS

5 years agoRemove usage of PHP_AIX_LDFLAGS
Peter Kokot [Sun, 14 Jul 2019 21:44:01 +0000 (23:44 +0200)]
Remove usage of PHP_AIX_LDFLAGS

These are currently not defined since their usage has been removed via
51ca2dba530883a8e07d6869e66ee6c5b3c978a6
and
53349d69ddf7a2ba128f0928fb3b376422611a3b

5 years agoSymbol HAVE_PCRE has been removed
Peter Kokot [Sun, 14 Jul 2019 21:02:52 +0000 (23:02 +0200)]
Symbol HAVE_PCRE has been removed

5 years agoMerge branch 'PHP-7.4'
Peter Kokot [Sun, 14 Jul 2019 20:24:59 +0000 (22:24 +0200)]
Merge branch 'PHP-7.4'

* PHP-7.4:
  Remove conditional calls of always available macros

5 years agoRemove conditional calls of always available macros
Peter Kokot [Sun, 14 Jul 2019 20:24:21 +0000 (22:24 +0200)]
Remove conditional calls of always available macros

These checks were once relevant for these extensions in PECL and PHP
versions without availability of the checked macros.

Closes GH-4405

5 years agoMerge branch 'PHP-7.4'
Peter Kokot [Sun, 14 Jul 2019 19:08:19 +0000 (21:08 +0200)]
Merge branch 'PHP-7.4'

* PHP-7.4:
  Remove unsed zts check for sqlite3

5 years agoRemove unsed zts check for sqlite3
Peter Kokot [Sun, 14 Jul 2019 19:06:15 +0000 (21:06 +0200)]
Remove unsed zts check for sqlite3

This check was relevant with bundled sqlite library. Removed via
6083a387a81dbbd66d6316a3a12a63f06d5f7109

Closes GH-4403

5 years agoMerge branch 'PHP-7.4'
Peter Kokot [Sun, 14 Jul 2019 12:46:55 +0000 (14:46 +0200)]
Merge branch 'PHP-7.4'

* PHP-7.4:
  Remove duplicate PTHREADS template define

5 years agoRemove duplicate PTHREADS template define
Peter Kokot [Sun, 14 Jul 2019 12:45:27 +0000 (14:45 +0200)]
Remove duplicate PTHREADS template define

The undef PTHREADS converts to define if thread safety is configured.
This step is already done by pthreads m4 macros from TSRM so this now
removes duplicated PTHREADS defines from php_config.h.

5 years agoMerge branch 'PHP-7.4'
Peter Kokot [Sun, 14 Jul 2019 11:50:43 +0000 (13:50 +0200)]
Merge branch 'PHP-7.4'

* PHP-7.4:
  Remove timelib outdated defines

5 years agoRemove timelib outdated defines
Peter Kokot [Sun, 14 Jul 2019 11:50:05 +0000 (13:50 +0200)]
Remove timelib outdated defines

- TIMELIB_OMIT_STDINT is not used anymore since
  https://github.com/derickr/timelib/commit/a171f99cf02baf39549ab7209e37565b8b8f6529
- HAVE_GETTIMEOFDAY was defined multiple times in Windows headers
- ext/date/lib/timelib_config.h.win32 does not seem to be used

Closes GH-4400

5 years agoMerge branch 'PHP-7.4'
Peter Kokot [Sun, 14 Jul 2019 11:49:18 +0000 (13:49 +0200)]
Merge branch 'PHP-7.4'

* PHP-7.4:
  Remove PHP_MYSQL variable

5 years agoRemove PHP_MYSQL variable
Peter Kokot [Sun, 14 Jul 2019 11:48:44 +0000 (13:48 +0200)]
Remove PHP_MYSQL variable

PHP_MYSQL variable was once defined by the ext/mysql (--with-mysql).

Closes GH-4399

5 years agoMerge branch 'PHP-7.4'
Peter Kokot [Sat, 13 Jul 2019 13:38:58 +0000 (15:38 +0200)]
Merge branch 'PHP-7.4'

* PHP-7.4:
  Update changelogs

5 years agoUpdate changelogs
Peter Kokot [Sat, 13 Jul 2019 13:37:36 +0000 (15:37 +0200)]
Update changelogs

- PHP-7.4 alpha, beta, RC versions already include bugs logged in the
  NEWS
- some links to RFCs
- php_error_docref0

5 years agoMerge branch 'PHP-7.4'
Peter Kokot [Sat, 13 Jul 2019 13:06:53 +0000 (15:06 +0200)]
Merge branch 'PHP-7.4'

* PHP-7.4:
  Remove php_multiple_shlib_versions_ok

5 years agoRemove php_multiple_shlib_versions_ok
Peter Kokot [Sat, 13 Jul 2019 13:06:35 +0000 (15:06 +0200)]
Remove php_multiple_shlib_versions_ok

Variable usage was removed via
913cec65517f11ebd972f920d1d320b853a175dd

5 years agoMerge branch 'PHP-7.4'
Peter Kokot [Sat, 13 Jul 2019 12:53:07 +0000 (14:53 +0200)]
Merge branch 'PHP-7.4'

* PHP-7.4:
  Remove unused recode extension artefacts

5 years agoRemove unused recode extension artefacts
Peter Kokot [Sat, 13 Jul 2019 12:52:36 +0000 (14:52 +0200)]
Remove unused recode extension artefacts

Closes GH-4395

5 years agoMerge branch 'PHP-7.4'
Peter Kokot [Sat, 13 Jul 2019 12:49:00 +0000 (14:49 +0200)]
Merge branch 'PHP-7.4'

* PHP-7.4:
  Remove checks for always enabled spl and pcre

5 years agoRemove checks for always enabled spl and pcre
Peter Kokot [Sat, 13 Jul 2019 12:47:37 +0000 (14:47 +0200)]
Remove checks for always enabled spl and pcre

Closes GH-4397

5 years agoMerge branch 'PHP-7.4'
Peter Kokot [Sat, 13 Jul 2019 12:40:17 +0000 (14:40 +0200)]
Merge branch 'PHP-7.4'

* PHP-7.4:
  Remove WARNING_LEVEL fix for QNX

5 years agoRemove WARNING_LEVEL fix for QNX
Peter Kokot [Sat, 13 Jul 2019 12:39:29 +0000 (14:39 +0200)]
Remove WARNING_LEVEL fix for QNX

Fix is no longer relevant since the environment variable WARNING_LEVEL
is no longer used to define the value of the -w option for cc.

Closes GH-4398

5 years agoMerge branch 'PHP-7.4'
Christoph M. Becker [Sat, 13 Jul 2019 10:03:59 +0000 (12:03 +0200)]
Merge branch 'PHP-7.4'

* PHP-7.4:
  Fix #78283: no output for explicit environment

5 years agoFix #78283: no output for explicit environment
Christoph M. Becker [Sat, 13 Jul 2019 10:01:33 +0000 (12:01 +0200)]
Fix #78283: no output for explicit environment

This test does not work on Windows, if the child process has OPcache
enabled via php.ini, since TEMP is not set in the environment, so
OPcache can't find the base address file, and terminates the childs.

To avoid this (and potentially some other issues regarding missing
environment variables, such as PATH), we force the child process to
ignore any ini files.

5 years agoMerge branch 'PHP-7.4'
Christoph M. Becker [Sat, 13 Jul 2019 07:45:14 +0000 (09:45 +0200)]
Merge branch 'PHP-7.4'

* PHP-7.4:
  Fix #78282: atime and mtime mismatch

5 years agoFix #78282: atime and mtime mismatch
Christoph M. Becker [Sat, 13 Jul 2019 07:40:50 +0000 (09:40 +0200)]
Fix #78282: atime and mtime mismatch

The fix for bug #78241 assumed that `time_t` would always be 64bit, but
actually is 32bit for x86.  We therefore enforce 64bit arithmetic to
avoid wrapping.

5 years agoMerge branch 'PHP-7.4'
Peter Kokot [Sat, 13 Jul 2019 00:10:17 +0000 (02:10 +0200)]
Merge branch 'PHP-7.4'

* PHP-7.4:
  Convert all php_error_docref0 to php_error_docref

5 years agoConvert all php_error_docref0 to php_error_docref
George Peter Banyard [Sat, 13 Jul 2019 00:05:17 +0000 (02:05 +0200)]
Convert all php_error_docref0 to php_error_docref

Closes GH-4394

5 years agoMerge branch 'PHP-7.4'
Peter Kokot [Fri, 12 Jul 2019 23:58:38 +0000 (01:58 +0200)]
Merge branch 'PHP-7.4'

* PHP-7.4:
  Remove tsrm_config_common.h

5 years agoRemove tsrm_config_common.h
Peter Kokot [Fri, 12 Jul 2019 00:57:52 +0000 (02:57 +0200)]
Remove tsrm_config_common.h

- Checks and defines are not relevant for files that include it anymore
- Some code is not used anymore
- Defines are a bit duplicated in zend_portability.h and TSRM.h file
- MAXPATHLEN defs moved to zend_virtual_cwd.h

5 years agoMerge branch 'PHP-7.4'
Christoph M. Becker [Fri, 12 Jul 2019 16:56:09 +0000 (18:56 +0200)]
Merge branch 'PHP-7.4'

* PHP-7.4:
  No more need to cater to pre-PHP-5.3 or PHP-6 versions

5 years agoNo more need to cater to pre-PHP-5.3 or PHP-6 versions
Christoph M. Becker [Fri, 12 Jul 2019 16:50:54 +0000 (18:50 +0200)]
No more need to cater to pre-PHP-5.3 or PHP-6 versions

5 years agoMerge branch 'PHP-7.4'
Nikita Popov [Fri, 12 Jul 2019 15:22:58 +0000 (17:22 +0200)]
Merge branch 'PHP-7.4'

5 years agoDon't split T_INLINE_HTML at partial PHP tag
Nikita Popov [Fri, 12 Jul 2019 15:22:11 +0000 (17:22 +0200)]
Don't split T_INLINE_HTML at partial PHP tag

If <?php occurs without required trailing whitespace, we should keep
it as part of a single T_INLINE_HTML region.

5 years agoMerge branch 'PHP-7.4'
Nikita Popov [Fri, 12 Jul 2019 14:52:00 +0000 (16:52 +0200)]
Merge branch 'PHP-7.4'

5 years agoMerge branch 'PHP-7.3' into PHP-7.4
Nikita Popov [Fri, 12 Jul 2019 14:51:52 +0000 (16:51 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4

5 years agoMerge branch 'PHP-7.2' into PHP-7.3
Nikita Popov [Fri, 12 Jul 2019 14:51:47 +0000 (16:51 +0200)]
Merge branch 'PHP-7.2' into PHP-7.3

5 years agoUse TRY_ADDREF/TRY_DELREF in soap
Nikita Popov [Fri, 12 Jul 2019 14:50:43 +0000 (16:50 +0200)]
Use TRY_ADDREF/TRY_DELREF in soap

The DELREF part is a possible fix for bug #78278, the ADDREF part
is a drive-by fix.

5 years agoMerge branch 'PHP-7.4'
Nikita Popov [Fri, 12 Jul 2019 14:30:54 +0000 (16:30 +0200)]
Merge branch 'PHP-7.4'

5 years agoMerge branch 'PHP-7.3' into PHP-7.4
Nikita Popov [Fri, 12 Jul 2019 14:30:47 +0000 (16:30 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4

5 years agoMerge branch 'PHP-7.2' into PHP-7.3
Nikita Popov [Fri, 12 Jul 2019 14:29:55 +0000 (16:29 +0200)]
Merge branch 'PHP-7.2' into PHP-7.3

5 years agoFixed bug #78279
Nikita Popov [Fri, 12 Jul 2019 14:29:18 +0000 (16:29 +0200)]
Fixed bug #78279

Even if we don't initialize the callback on every request, we
should still reset our globals to default values...

5 years agoMerge branch 'PHP-7.4'
Christoph M. Becker [Fri, 12 Jul 2019 12:36:10 +0000 (14:36 +0200)]
Merge branch 'PHP-7.4'

* PHP-7.4:
  Update NEWS and UPGRADING wrt. ext/recode unbundling

5 years agoUpdate NEWS and UPGRADING wrt. ext/recode unbundling
Christoph M. Becker [Fri, 12 Jul 2019 12:35:44 +0000 (14:35 +0200)]
Update NEWS and UPGRADING wrt. ext/recode unbundling

5 years agoMerge branch 'PHP-7.4'
Christoph M. Becker [Fri, 12 Jul 2019 11:58:42 +0000 (13:58 +0200)]
Merge branch 'PHP-7.4'

* PHP-7.4:
  Removed ext/recode

5 years agoRemoved ext/recode
Christoph M. Becker [Fri, 12 Jul 2019 11:58:17 +0000 (13:58 +0200)]
Removed ext/recode

Cf. <https://wiki.php.net/rfc/unbundle_recode>.

5 years agoMerge branch 'PHP-7.4'
Christoph M. Becker [Fri, 12 Jul 2019 11:28:39 +0000 (13:28 +0200)]
Merge branch 'PHP-7.4'

* PHP-7.4:
  Swap implode() argument order in the test helper

5 years agoSwap implode() argument order in the test helper
Christoph M. Becker [Fri, 12 Jul 2019 11:26:54 +0000 (13:26 +0200)]
Swap implode() argument order in the test helper

5 years agoMerge branch 'PHP-7.4'
Nikita Popov [Fri, 12 Jul 2019 11:18:53 +0000 (13:18 +0200)]
Merge branch 'PHP-7.4'

5 years agoRemove duplicate XtOffsetOf() definitions in php.h
Nikita Popov [Fri, 12 Jul 2019 11:18:18 +0000 (13:18 +0200)]
Remove duplicate XtOffsetOf() definitions in php.h

These are already defined in zend_portability.h.

5 years agoMerge branch 'PHP-7.4'
Nikita Popov [Fri, 12 Jul 2019 11:14:38 +0000 (13:14 +0200)]
Merge branch 'PHP-7.4'

5 years agoRemove unused tsrm_strtok_r() function
Nikita Popov [Fri, 12 Jul 2019 11:12:56 +0000 (13:12 +0200)]
Remove unused tsrm_strtok_r() function

There is also a php_strtok_r() function, which is actually used,
but nothing uses the tsrm_strtok_r() variant...

5 years agoMerge branch 'PHP-7.4'
Nikita Popov [Fri, 12 Jul 2019 10:55:21 +0000 (12:55 +0200)]
Merge branch 'PHP-7.4'

5 years agoRemove unnecessary uses of allow_url_include in tests
Nikita Popov [Fri, 12 Jul 2019 10:43:41 +0000 (12:43 +0200)]
Remove unnecessary uses of allow_url_include in tests

5 years agoRemove unnecessary uses of restore_include_path() in tests
Nikita Popov [Fri, 12 Jul 2019 10:17:24 +0000 (12:17 +0200)]
Remove unnecessary uses of restore_include_path() in tests

5 years agoSwap implode() argument order in some tests
Nikita Popov [Fri, 12 Jul 2019 08:43:32 +0000 (10:43 +0200)]
Swap implode() argument order in some tests

5 years agoImprove bless_tests
Nikita Popov [Fri, 12 Jul 2019 08:34:49 +0000 (10:34 +0200)]
Improve bless_tests

If a string var_dump contains a wildcard, also make the length a
wildcard.

5 years agoMerge branch 'PHP-7.4'
Dmitry Stogov [Fri, 12 Jul 2019 08:42:11 +0000 (11:42 +0300)]
Merge branch 'PHP-7.4'

* PHP-7.4:
  Use common code for double math

5 years agoUse common code for double math
Dmitry Stogov [Fri, 12 Jul 2019 08:40:56 +0000 (11:40 +0300)]
Use common code for double math

5 years agoMerge branch 'PHP-7.4'
Christoph M. Becker [Thu, 11 Jul 2019 21:34:09 +0000 (23:34 +0200)]
Merge branch 'PHP-7.4'

* PHP-7.4:
  Revert "Temporarily skip test"

5 years agoRevert "Temporarily skip test"
Christoph M. Becker [Thu, 11 Jul 2019 21:33:34 +0000 (23:33 +0200)]
Revert "Temporarily skip test"

This reverts commit 4e5a717866ed18c5ee539e339e33cc71f0ac8a88.

As of commit 17f7fb76053cabe20225472debe4d1801221ef9f the test should
no longer hang.

5 years agoMerge branch 'PHP-7.4'
Dmitry Stogov [Thu, 11 Jul 2019 21:01:31 +0000 (00:01 +0300)]
Merge branch 'PHP-7.4'

* PHP-7.4:
  Allow GOTO style helpers in HYBRID VM

5 years agoAllow GOTO style helpers in HYBRID VM
Dmitry Stogov [Thu, 11 Jul 2019 21:00:55 +0000 (00:00 +0300)]
Allow GOTO style helpers in HYBRID VM

5 years agoMerge branch 'PHP-7.4'
Dmitry Stogov [Thu, 11 Jul 2019 17:45:12 +0000 (20:45 +0300)]
Merge branch 'PHP-7.4'

* PHP-7.4:
  Separate "cold" parts of comparison instructions

5 years agoSeparate "cold" parts of comparison instructions
Dmitry Stogov [Thu, 11 Jul 2019 17:44:39 +0000 (20:44 +0300)]
Separate "cold" parts of comparison instructions

5 years agoMerge branch 'PHP-7.4'
Dmitry Stogov [Thu, 11 Jul 2019 15:23:48 +0000 (18:23 +0300)]
Merge branch 'PHP-7.4'

* PHP-7.4:
  Separate "cold" parts of binary op instructions

5 years agoSeparate "cold" parts of binary op instructions
Dmitry Stogov [Thu, 11 Jul 2019 15:23:08 +0000 (18:23 +0300)]
Separate "cold" parts of binary op instructions

5 years agoMerge branch 'PHP-7.4'
Nikita Popov [Thu, 11 Jul 2019 15:09:23 +0000 (17:09 +0200)]
Merge branch 'PHP-7.4'

5 years agoRemove redundant 64-bit ezmlm_hash() test
Nikita Popov [Thu, 11 Jul 2019 15:03:48 +0000 (17:03 +0200)]
Remove redundant 64-bit ezmlm_hash() test

This test is the same as the as ezmlm_hash_basic.phpt. This function
does not behave differently on 32-bit and 64-bit.

5 years agoAdd ZEND_DEP_ME macro
Nikita Popov [Thu, 11 Jul 2019 11:40:20 +0000 (13:40 +0200)]
Add ZEND_DEP_ME macro

5 years agoMerge branch 'PHP-7.4'
Nikita Popov [Thu, 11 Jul 2019 14:20:22 +0000 (16:20 +0200)]
Merge branch 'PHP-7.4'

5 years agoConvert short tag to standard tag in Zend test file
George Peter Banyard [Thu, 11 Jul 2019 14:06:41 +0000 (16:06 +0200)]
Convert short tag to standard tag in Zend test file

Closes GH-4389.

5 years agoMerge branch 'PHP-7.4'
Nikita Popov [Thu, 11 Jul 2019 13:49:02 +0000 (15:49 +0200)]
Merge branch 'PHP-7.4'

5 years agoSwitch to using shell-less proc_open() in various server tests
Nikita Popov [Mon, 1 Jul 2019 11:07:30 +0000 (13:07 +0200)]
Switch to using shell-less proc_open() in various server tests

5 years agoSupport redirect+null descriptors in proc_open
Nikita Popov [Fri, 5 Jul 2019 15:41:59 +0000 (17:41 +0200)]
Support redirect+null descriptors in proc_open

This adds support for doing something like:

    [1 => ['pipe', 'w'], 2 => ['redirect', 1]]

This will make descriptor 2 on the child end a dup'd descriptor 1.
This is mainly useful in conjunction with shell-less mode, because
we don't have an easy way to do "2>&1" there.

Additionally we support:

    [1 => ['pipe', 'w'], 2 => ['null']]

Which would be the same as a >/dev/null or >nul redirect, depending
on platform.

5 years agoMerge branch 'PHP-7.4'
Nikita Popov [Thu, 11 Jul 2019 12:15:02 +0000 (14:15 +0200)]
Merge branch 'PHP-7.4'

5 years agoDon't call Reflection::export() internally
Nikita Popov [Thu, 11 Jul 2019 12:13:05 +0000 (14:13 +0200)]
Don't call Reflection::export() internally

export() methods were implemented in a roundabout way, where they
would call Reflection::export(), which would then call __toString().
Cut out the middleman by directly calling __toString().

5 years agoMerge branch 'PHP-7.4'
Christoph M. Becker [Thu, 11 Jul 2019 11:11:40 +0000 (13:11 +0200)]
Merge branch 'PHP-7.4'

* PHP-7.4:
  Fix #78212: Segfault in built-in webserver

5 years agoMerge branch 'PHP-7.3' into PHP-7.4
Christoph M. Becker [Thu, 11 Jul 2019 11:10:41 +0000 (13:10 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4

* PHP-7.3:
  Fix #78212: Segfault in built-in webserver

5 years agoFix #78212: Segfault in built-in webserver
Christoph M. Becker [Thu, 27 Jun 2019 09:34:51 +0000 (11:34 +0200)]
Fix #78212: Segfault in built-in webserver

Since syslog's ident and facility parameters have been added to
config[1], vsyslog() segfaults on Windows, if openlog() has not been
called before.  We bring back the removed lines to fix this.

[1] <http://git.php.net/?p=php-src.git;a=commit;h=2475337bd8a0fad0dac03db3f5e7e9d331d53653>

5 years agoMerge branch 'PHP-7.4'
Nikita Popov [Thu, 11 Jul 2019 11:00:06 +0000 (13:00 +0200)]
Merge branch 'PHP-7.4'

5 years agoInclude test name in JUnit testcase name
Nikita Popov [Thu, 11 Jul 2019 10:45:49 +0000 (12:45 +0200)]
Include test name in JUnit testcase name

Azure does not show the classname attribute in any convenient way,
and the file name is the part we usually care about.

5 years agoMake proc_open_bug64438.phpt more robust
Nikita Popov [Thu, 11 Jul 2019 10:32:57 +0000 (12:32 +0200)]
Make proc_open_bug64438.phpt more robust

The test currently assumes that we'll first read the data of
stdout and stderr and then see eof on stdout and stderr. However
we could also read stdout, see eof on stdout, read stderr and see
eof on stderr, depending on timing.

Avoid output ordering issues by collecting events into a per-pipe
array, so interleaving is not visible.

5 years agoMerge branch 'PHP-7.4'
Dmitry Stogov [Thu, 11 Jul 2019 09:04:51 +0000 (12:04 +0300)]
Merge branch 'PHP-7.4'

* PHP-7.4:
  neon vectorization for base64

5 years agoneon vectorization for base64
Sebastian Pop [Wed, 3 Jul 2019 20:10:38 +0000 (20:10 +0000)]
neon vectorization for base64

A similar algorithm is used to vectorize on x86_64, with a good description in
https://arxiv.org/abs/1704.00605 . On AArch64 the implementation differs in that
instead of using multiplies to shift bits around, it uses the vld3+vst4 and
vld4+vst3 combinations to load and store interleaved data.  This patch is based
on the NEON implementation of Wojciech Mula:
https://github.com/WojciechMula/base64simd/blob/master/encode/encode.neon.cpp
https://github.com/WojciechMula/base64simd/blob/master/encode/lookup.neon.cpp
and
https://github.com/WojciechMula/base64simd/blob/master/encode/encode.neon.cpp
https://github.com/WojciechMula/base64simd/blob/master/encode/encode.neon.cpp
adapted to php/ext/standard/base64.c and vectorized with factor 16 instead of 8.

On a Graviton A1 instance and on the synthetic benchmarks in
https://github.com/lemire/fastbase64 I see 175% speedup on base64 encoding and
60% speedup on base64 decode compared to the scalar implementation.

The patch passes `make test` regression testing on aarch64-linux.

5 years agoMerge branch 'PHP-7.4'
Nikita Popov [Thu, 11 Jul 2019 08:30:14 +0000 (10:30 +0200)]
Merge branch 'PHP-7.4'

5 years ago[AArch64] Use crc32 instructions when available
Sebastian Pop [Wed, 1 May 2019 16:05:11 +0000 (16:05 +0000)]
[AArch64] Use crc32 instructions when available

The time goes from 0.838s down to 0.029s (a 28x speedup) on a Graviton A1
instance and the following benchmark:

function simple_crc32() {
  $a = "foo";
  for ($i = 0; $i < 10000; $i++) {
      crc32($a);
      $a .= "o".$i;
  }
}

5 years agoMerge branch 'PHP-7.4'
Nikita Popov [Thu, 11 Jul 2019 08:26:59 +0000 (10:26 +0200)]
Merge branch 'PHP-7.4'

5 years agoAdd server conflict to soap custom content type test
Nikita Popov [Thu, 11 Jul 2019 08:26:19 +0000 (10:26 +0200)]
Add server conflict to soap custom content type test

5 years agoMerge branch 'PHP-7.4'
Peter Kokot [Thu, 11 Jul 2019 00:02:01 +0000 (02:02 +0200)]
Merge branch 'PHP-7.4'

* PHP-7.4:
  Refactor undefining PACKAGE_* symbols

5 years agoRefactor undefining PACKAGE_* symbols
Peter Kokot [Thu, 11 Jul 2019 00:00:51 +0000 (02:00 +0200)]
Refactor undefining PACKAGE_* symbols

Instead of patching configuration headers template generated by
the given tools - autoheader, this moves patching these symbols to
the configure step before creating and invoking the config.status
and before the configuration header file is generated from the
patched template.

Closes GH-4374

5 years agoMerge branch 'PHP-7.4'
Peter Kokot [Wed, 10 Jul 2019 19:20:10 +0000 (21:20 +0200)]
Merge branch 'PHP-7.4'

* PHP-7.4:
  Remove TSRM/tsrm_config.w32.h