Anatol Belski
53d8775015
Merge branch 'PHP-7.0' into PHP-7.1
...
* PHP-7.0:
Backport 7ff13badda
into 7.0+
2017-10-18 16:24:23 +02:00
Anatol Belski
d82805f097
Backport 7ff13badda
into 7.0+
2017-10-18 16:02:56 +02:00
Dmitry Stogov
b6e34eaf04
Fixed rarely possible use-after-free
2017-10-04 16:38:55 +03:00
Xinchen Hui
9fd33c1f20
Fixed bug #75267 (possible &/&& mixup)
2017-09-29 11:16:32 +08:00
Dmitry Stogov
1c68d63f35
Fixed bug #75255 (Request hangs and not finish)
2017-09-27 17:16:24 +03:00
Dmitry Stogov
550595c085
Added missed ~
2017-09-25 12:22:35 +03:00
Dmitry Stogov
d526ddec85
Fixed type inference
2017-09-25 12:03:47 +03:00
Xinchen Hui
3df47c12f7
Fixed bug #74980 (Narrowing occurred during type inference)
2017-07-26 12:06:33 +08:00
Nikita Popov
69ec51eb02
Fix DFG construction for VERIFY_RETURN
...
`use` only contains uses prior to definition. This was not
honoured for VERIFY_RETURN with a temporary operand.
The test case only breaks on PHP 7.2.
2017-07-21 23:20:56 +02:00
Bob Weinand
af7bfc71fd
Merge branch 'PHP-7.0' into PHP-7.1
2017-07-01 11:52:41 +02:00
Bob Weinand
e3cc15daf2
Fixed bug #74840 (Opcache overwrites argument of GENERATOR_RETURN within finally)
2017-07-01 11:52:03 +02:00
Nikita Popov
5b5a92b8b6
Fixed bug #74623
2017-06-23 17:32:45 +02:00
Nikita Popov
4948da178a
Make inference robust against infinite loop
...
Right now, if narrowing occurs on non-debug builds, inference can
easily go into an infinite loop. Prevent this, and add a pointer
that this should be reported as a bug.
2017-06-23 17:07:44 +02:00
Anatol Belski
67f063e3ac
Merge branch 'PHP-7.0' into PHP-7.1
...
* PHP-7.0:
Split requested size as expected by CreateFileMapping.
2017-06-20 15:45:05 +02:00
Anatol Belski
6a854e2740
Split requested size as expected by CreateFileMapping.
...
Thus fixing ext\opcache\tests\log_verbosity_bug.phpt fails on 64-bit.
2017-06-20 15:40:25 +02:00
Nikita Popov
e9ff1fac85
Revert "merge PR #2290 : enable opcache in CLI in 7.1+"
...
This reverts commit 71fe529afc
.
Without the file cache (which is not enabled by default), this has
non-trivial impact on the startup time. It also significantly
increases the baseline memory usage of PHP on CLI.
2017-06-02 23:36:20 +02:00
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