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

1176 Commits

Author SHA1 Message Date
Dmitry Stogov
316aaca155 Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  Fixed wrong condition
2017-05-31 00:40:57 +03:00
Dmitry Stogov
77cbf8a657 Fixed wrong condition 2017-05-31 00:40:33 +03:00
Xinchen Hui
19befb1ca2 Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  Fixed bug #74663 (Segfault with opcache.memory_protect and validate_timestamp)
2017-05-27 22:43:23 +08:00
Xinchen Hui
60912e66c8 Fixed bug #74663 (Segfault with opcache.memory_protect and validate_timestamp) 2017-05-27 22:42:27 +08:00
Xinchen Hui
d3e3bc611a Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  Added test for bug #74596
2017-05-17 22:43:03 +08:00
Xinchen Hui
e347b2ded6 Added test for bug #74596 2017-05-17 22:42:18 +08:00
Xinchen Hui
e04b91e6e2 Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  Fixed bug #74596 (SIGSEGV with opcache.revalidate_path enabled)
2017-05-16 13:22:43 +08:00
Xinchen Hui
89dd7fb328 Fixed bug #74596 (SIGSEGV with opcache.revalidate_path enabled)
Yeah, no test script is provided.. I got some troubles to make a one
2017-05-16 13:22:08 +08:00
Xinchen Hui
0a27a5ba8c Merge branch 'PHP-7.1' of git.php.net:/php-src into PHP-7.1
* 'PHP-7.1' of git.php.net:/php-src:
  Fix loop identification
2017-04-17 20:27:07 +08:00
Xinchen Hui
d6315c2fbb Fixed bug #74456 (Segmentation error while running a script in CLI mode)
Instead of make update_op1_by_const supports FETCH_LIST(CASE), I think
disable it is more safe for 7.1
2017-04-17 20:24:39 +08:00
Nikita Popov
abf16c18c7 Fix loop identification
When assigning loop headers, we should treat already detected
loops as collapsed to their loop header, instead of ignoring them.

This fixes the loop header of BB2 in mandel2 if live-range CFG
splitting is enabled.
2017-04-17 12:17:32 +02:00
Anatol Belski
039ef0143b Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  improve/fix error handling
2017-04-15 19:35:13 +02:00
Anatol Belski
ca543ff01c improve/fix error handling
GetLastError() should not be called, if the function didn't fail.
2017-04-15 19:32:04 +02:00
Nikita Popov
00c6ce0e00 Merge branch 'PHP-7.0' into PHP-7.1 2017-04-15 12:35:53 +02:00
Nikita Popov
0beccc51f1 Fix compact_literals of INIT_METHOD_CALL with CONST op1 2017-04-15 12:35:09 +02:00
Nikita Popov
6c2222796b Improve fix for bug #74442
Make the check less conservative to be consistent with the other
cases.
2017-04-15 01:39:33 +02:00
Rasmus Lerdorf
d80df7a8bf Credit goes to Eric Norris for this one 2017-04-14 15:48:24 -07:00
Nikita Popov
2f22dffd1a Fixed bug #74442 2017-04-14 22:20:32 +02:00
Nikita Popov
3ffe2cd251 Fixed bug #74431
If the last instruction in a block is a NOP, then `new_opline`
here won't be a copy of `opline`, it will be a copy of the last
non-NOP opline. Avoid performing a spurious update by explicitly
checking for NOP.
2017-04-14 22:03:06 +02:00
ekinhbayar
5d095f80c9 Test for bug 74431 2017-04-14 21:26:02 +02:00
Nikita Popov
9493ebbab2 Merge branch 'PHP-7.0' into PHP-7.1 2017-04-10 22:26:35 +02:00
Nikita Popov
6e23f2bceb Forgot to commit test file... 2017-04-10 22:26:14 +02:00
Nikita Popov
1df3099f2f Merge branch 'PHP-7.0' into PHP-7.1 2017-04-10 22:11:47 +02:00
Nikita Popov
6f950e83eb Fix JMPZ+JMP => NOP+JMP optimization 2017-04-10 22:09:34 +02:00
Xinchen Hui
e656455eae Remove unused var 2017-04-07 15:21:19 +08:00
Nikita Popov
d6f70f0ee3 Disable block pass for large functions
(Backport of 7ea261685f to 7.0.)
2017-03-28 22:07:37 +02:00
Nikita Popov
7ea261685f Disable block pass for large functions
This is the last fix for bug #74250.
2017-03-17 12:49:20 +01:00
Sebastian Bergmann
ccc35d1903 Fugbix typo 2017-03-16 19:10:07 +01:00
Nikita Popov
052aa466e1 Further optimize worklist management
Instead of always popping the first elements, do multiple complete
iterations of the worklist until it is empty.
2017-03-16 18:11:27 +01:00
Nikita Popov
e60515f3b8 Slightly optimize worklist management
Avoid scanning the worklist twice on every iteration.
2017-03-16 17:32:27 +01:00
Nikita Popov
f1f68b60f5 Optimize DJ spanning tree back-edge check
Instead of walking the DJ spanning tree upwards, record entry and
exit times during the DFS and use these to determine whether CJ
edges are sp-back edges.
2017-03-16 17:26:20 +01:00
Nikita Popov
6633e8492e Sort blocks in loop identification
The previous implementation was doing O(blocks*levels) iterations,
which for a linear-ish domtree is O(blocks^2). Avoid this by sorting
the blocks by decreasing level upfront.
2017-03-16 16:49:36 +01:00
Nikita Popov
9331be7d6a Use call_map to avoid linear call lookup 2017-03-16 12:33:57 +01:00
Dmitry Stogov
d9231b1667 Fixed pointer allignment 2017-03-07 10:18:34 +03:00
Dmitry Stogov
b273a8cbe4 Ensure pointer alignment. 2017-03-07 09:48:18 +03:00
Dmitry Stogov
6158b517c4 Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  Fixed file-cache (Zend/tests/unused_shared_static_variables.phpt)
2017-03-03 16:12:41 +03:00
Dmitry Stogov
648b756f35 Fixed file-cache (Zend/tests/unused_shared_static_variables.phpt) 2017-03-03 16:10:46 +03:00
Xinchen Hui
be60d159b6 Add test only (bug doesn't exists in 7.1) 2017-02-23 12:47:15 +08:00
Xinchen Hui
330a7b62c3 Fixed bug #74152 (if statement says true to a null variable) 2017-02-23 12:33:17 +08:00
Xinchen Hui
0b7fa040e9 Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  Fixed bug #74019 (Segfault with list)
2017-02-10 14:25:29 +08:00
Xinchen Hui
185304a61e Fixed bug #74019 (Segfault with list) 2017-02-10 14:24:01 +08:00
Anatol Belski
de64adeb1d Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  Fixed bug #73983 crash on finish work with phar in cli + opcache
2017-01-30 12:46:11 +01:00
Anatol Belski
368958b3e4 Fixed bug #73983 crash on finish work with phar in cli + opcache
The file_cache_only option causes the storage to be per process,
furthermore the arena is destroyed per request. Thus, zend_string's
can't survive between request and the permanent flag should not
be set. This is already done with the file cache part, but the
persistency part is used in various scenarios and should respect
this case as well. In this particular bug, the pcre pattern cache
needs to survive between requests and uses pattern strings as hash
keys. One more case relevant here would be various situations where
the flow disables the use of shared memory.
2017-01-30 12:44:21 +01:00
Anatol Belski
f2c99e201e Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  move id initialization into ctor
2017-01-30 11:41:59 +01:00
Anatol Belski
4b1afc829c move id initialization into ctor 2017-01-30 11:40:23 +01:00
Anatol Belski
2a5a310446 Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  fix system id initialization for multiple threads
2017-01-30 01:57:27 +01:00
Anatol Belski
2b7e5468c9 fix system id initialization for multiple threads 2017-01-30 01:54:36 +01:00
Anatol Belski
bd0569e287 Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  fix AppVeyor failures with Opcache enabled
2017-01-15 21:18:48 +01:00
Anatol Belski
4f19bb7af6 fix AppVeyor failures with Opcache enabled
opcache_reset() only schedules the restart. Under circumstances,
the follow up requests might run uncached, until the restart
condition is met. To mitigate the false positives caused by this
behavior, any tests using opcache_reset() should not be put in
between other tests. Thus, moving the corresponding test to be
executed last.
2017-01-15 21:13:15 +01:00
Joe Watkins
687b02789e Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  Added test for "opcache: print restart reason" to basic_logging.phpt
2017-01-14 07:33:08 +00:00