Commit Graph

91889 Commits

Author SHA1 Message Date
Christoph M. Becker
716387288e Merge branch 'PHP-5.6'
* PHP-5.6:
  test requires imagejpeg(); skip otherwise
2015-07-31 13:54:32 +02:00
Christoph M. Becker
cdabbd9542 test requires imagejpeg(); skip otherwise 2015-07-31 13:51:49 +02:00
Anatol Belski
b6803c75d9 updated NEWS 2015-07-31 13:32:40 +02:00
Anatol Belski
b604716fb6 Fixed bug #70108 sometimes empty $_SERVER['QUERY_STRING']
auto_globals_jit is the reason every thread needs a copy. Otherwise
every thread will operate on the master values which can't end good.
2015-07-31 13:32:39 +02:00
Bob Weinand
590c5a7e50 Remove debug instructions (...) 2015-07-31 13:23:45 +02:00
Ferenc Kovacs
35b61e4f4d pear 1.10.0dev2 2015-07-31 10:22:50 +02:00
Bob Weinand
ac87657d42 Implicit return should be always on the last line of a function 2015-07-31 02:44:42 +02:00
Bob Weinand
36aa92a67d Do not mark automatic return 1; as executable 2015-07-31 02:26:28 +02:00
Bob Weinand
1da4ee25b8 Fix oplog trace with already freed closures 2015-07-31 02:06:03 +02:00
Ferenc Kovacs
57247f01f7 removed another E_STRICT(with the approval of Derick), 3 more to go 2015-07-30 13:53:44 +02:00
Christopher Jones
70a7221540 More PHP7 compat (Rajendra/Senthil) 2015-07-30 20:25:40 +10:00
Xinchen Hui
d00acdc312 update UPGRADING 2015-07-30 15:23:15 +08:00
Xinchen Hui
ee64c39f8e Merge branch 'master' of git.php.net:php-src 2015-07-30 15:21:07 +08:00
Xinchen Hui
fb3d14460b Fixed condition 2015-07-30 15:09:56 +08:00
Anatol Belski
ffa341de59 add macro to access globals as whole 2015-07-30 09:05:08 +02:00
Anatol Belski
c2bf735e49 fork test 2015-07-30 09:05:07 +02:00
Xinchen Hui
6c0feb0665 Fixed bug #70163 (curl_setopt_array() type confusion) 2015-07-30 13:40:59 +08:00
Xinchen Hui
a6b47e8d68 Merge branch 'zval_dump_consistent' of https://github.com/laruence/php-src 2015-07-30 13:14:38 +08:00
Xinchen Hui
3eabf2bf19 "This" is C++ keyword 2015-07-30 11:30:34 +08:00
Bob Weinand
ae1a4f47e6 Add NEWS entry 2015-07-29 21:00:43 +02:00
Anatol Belski
9249890acf fix wrong info 2015-07-29 19:30:36 +02:00
Bob Weinand
d45d5271f7 Fix bug #70164 (__COMPILER_HALT_OFFSET__ under namespace is not defined) 2015-07-29 19:18:29 +02:00
Christoph M. Becker
8f7d816b0d updated UPGRADING 2015-07-29 18:28:18 +02:00
Christoph M. Becker
6855e2f08b Merge branch 'pull-request/1439'
* pull-request/1439:
  fixed broken test
  add new error constant PREG_JIT_STACKLIMIT_ERROR
2015-07-29 18:21:46 +02:00
Anatol Belski
f6d196a38f document globals accesor macro and tls specifiers 2015-07-29 17:26:53 +02:00
Anatol Belski
859507c9af add one more thread storage specifier to allow external link 2015-07-29 17:26:52 +02:00
Anatol Belski
c17289e59c fix thread safety 2015-07-29 17:26:51 +02:00
Anatol Belski
db70a337ff fix thread safety and zeroing method 2015-07-29 17:26:50 +02:00
Christoph M. Becker
2aa9db5a22 updated NEWS 2015-07-29 17:04:09 +02:00
Christoph M. Becker
ce3c869d19 Fix #70158: Building with static imap fails
Static builds of ext/imap have duplicate symbols, and so won't link on Windows.
To get around this issue, we simply disallow static building of the extension.
2015-07-29 17:00:37 +02:00
Bogdan Andone
68185bafbe opcache: Patch SSE based fast_memcpy() implementation
Use _mm_store_si128() instead of _mm_stream_si128(). This ensures that copied memory
is preserved in data cache, which is good as the interpretor will start to use this
data without the need to go back to memory. _mm_stream* is intended to be used for
stores where we want to avoid reading data into the cache and the cache pollution;
in our scenario it seems that preserving the data in cache has a positive impact.

Tests on WordPress 4.1 show ~1% performance increase with fast_memcpy() in place
versus standard memcpy() when running php-cgi -T10000 wordpress/index.php.

I also updated SW prefetching on target memory but its contribution is almost negligible.
The address to be prefetched will be used in a couple of cycles (at the next iteration)
while the data from memory will be available in >100 cycles.
2015-07-29 14:51:57 +03:00
Anatol Belski
4e66cce87c switch to the unified globals accessor where appropriate 2015-07-29 13:26:35 +02:00
Christopher Jones
0615aa82d7 Fix temporary-LOB leak and add tests (Senthil) 2015-07-29 20:15:43 +10:00
Anatol Belski
0787cd60ed first stone on using the unified globals accessor 2015-07-29 10:36:30 +02:00
Anatol Belski
43cdfd9a82 add unified globals accessor macro 2015-07-29 10:36:29 +02:00
Anatol Belski
7104d88c35 fix thread safety 2015-07-29 10:36:28 +02:00
Anatol Belski
7d41afeee8 fix thread safety 2015-07-29 10:36:27 +02:00
Julien Pauli
577ffcb55e Merge branch 'PHP-5.6'
* PHP-5.6:
  Adjust Git-Rules
  5.4.44 next
2015-07-29 10:05:19 +02:00
Julien Pauli
d7f354fa57 Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  Adjust Git-Rules
  5.4.44 next
2015-07-29 10:04:33 +02:00
Julien Pauli
66edc15875 Merge branch 'PHP-5.4' into PHP-5.5
* PHP-5.4:
  Adjust Git-Rules
  5.4.44 next

Conflicts:
	configure.in
	main/php_version.h
2015-07-29 10:04:08 +02:00
Julien Pauli
8f1baa6e1c Adjust Git-Rules 2015-07-29 10:02:39 +02:00
Anton Blanchard
fd8fb17be8 Improve performance of PowerPC64 fast_long_add_function
Detecting overflow with the XER is slow, partially because we have to
clear it before use.

PHP already has a fast way of detecting overflow in its fallback
c implementation. Overflow only occurs if the signs of the two
operands are the same and the sign of the result is different.
Furthermore, leaving it in c allows gcc to schedule the instructions
better.

This is 9% faster on a POWER8 running a simple testcase:

<?php
        function testcase($count = 100000000) {
		$x = 1;
                for ($i = 0; $i < $count; $i++) {
                        $x = $x + 1;
                        $x = $x + 1;
                        $x = $x + 1;
                        $x = $x + 1;
                        $x = $x + 1;
                }
        }

        testcase();
?>
2015-07-29 09:22:38 +02:00
Remi Collet
32e9b744c0 Merge branch 'master' of git.php.net:php-src
* 'master' of git.php.net:php-src:
  Fixed bug #69674 (SIGSEGV array.c:953)
2015-07-29 09:22:21 +02:00
Xinchen Hui
7d5fb7bbf3 Fixed bug #69674 (SIGSEGV array.c:953) 2015-07-29 10:46:12 +08:00
Anton Blanchard
4d578f28df Improve performance of PowerPC64 fast_long_increment_function
Detecting overflow with the XER is slow, partially because we have to
clear it before use.

gcc does a better job of detecting overflow of an increment or decrement
than we can with inline assembly. It knows that an increment will only
overflow if it is one less than the overflow value. This means we end
up with a simple compare/branch. Furthermore, leaving it in c allows gcc
to schedule the instructions better.

This is 6% faster on a POWER8 running a simple testcase:

<?php
        function testcase($count = 100000000) {
		$x = 1;
                for ($i = 0; $i < $count; $i++) {
                        $x++;
                        $x++;
                        $x++;
                        $x++;
                        $x++;
                }
        }

        testcase();
?>
2015-07-28 18:38:23 +02:00
Anton Blanchard
305199a131 Improve performance of PowerPC64 ZEND_SIGNED_MULTIPLY_LONG
Detecting overflow with the XER is slow, partially because we have to
clear it before use. We can do better by using a trick where we compare
the high 64 bits of the result with the low 64 bits shifted right
63 bits.

This is 7% faster on a POWER8 running a simple testcase:

<?php
        function testcase($count = 100000000) {
                for ($i = 0; $i < $count; $i++) {
                        $x = 1;
                        $x = $x * 2;
                        $x = $x * 2;
                        $x = $x * 2;
                        $x = $x * 2;
                }
        }

        testcase();
?>
2015-07-28 18:38:23 +02:00
Anatol Belski
a581910a76 Merge branch 'PHP-5.6'
* PHP-5.6:
  updated NEWS
  Fixed bug #70002 TS issues with temporary dir handling
  update NEWS
  Fixed bug #69900 Too long timeout on pipes
2015-07-28 17:44:14 +02:00
Anatol Belski
9fdb8c2ccd Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  Fixed bug #70002 TS issues with temporary dir handling
2015-07-28 17:42:37 +02:00
Anatol Belski
54bf6352fe updated NEWS 2015-07-28 17:42:25 +02:00
Anatol Belski
ce5c4500cd Fixed bug #70002 TS issues with temporary dir handling 2015-07-28 17:41:38 +02:00