1
0
mirror of https://github.com/php/php-src.git synced 2026-04-24 08:28:26 +02:00
Commit Graph

644 Commits

Author SHA1 Message Date
Nikita Popov d3aac6f810 Merge branch 'PHP-7.1' 2017-03-17 12:54:11 +01: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 6d748b43ae Merge branch 'PHP-7.1' 2017-03-16 19:10:23 +01:00
Sebastian Bergmann ccc35d1903 Fugbix typo 2017-03-16 19:10:07 +01:00
Nikita Popov 7ea854b1df Merge branch 'PHP-7.1' 2017-03-16 18:15:13 +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 69dc088c36 Merge branch 'PHP-7.1' 2017-03-16 17:40:33 +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 da223b9500 Merge branch 'PHP-7.1' 2017-03-16 12:34:36 +01:00
Nikita Popov 9331be7d6a Use call_map to avoid linear call lookup 2017-03-16 12:33:57 +01:00
Dmitry Stogov 6a31872307 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed pointer allignment
2017-03-07 10:18:57 +03: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 e113b6784a Ensure pointer alignment. 2017-03-06 17:09:05 +03:00
Xinchen Hui 1760b031ea Merge branch 'PHP-7.1'
* PHP-7.1:
  Update NEWs
  Fixed bug #74019 (Segfault with list)
2017-02-10 14:26:35 +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
Dmitry Stogov 141d1ba980 Introduced "zend_type" - an abstraction for type-hinting representation. 2017-01-13 11:37:46 +03:00
Nikita Popov 18904aa3e2 Compact literals: Deduplicate empty array literals 2017-01-10 00:21:38 +01:00
Sammy Kaye Powers dac6c639bb Update copyright headers to 2017 2017-01-04 11:23:42 -06:00
Sammy Kaye Powers 478f119ab9 Update copyright headers to 2017 2017-01-04 11:14:55 -06:00
Sammy Kaye Powers 9e29f841ce Update copyright headers to 2017 2017-01-02 09:30:12 -06:00
Nikita Popov b767370496 Merge branch 'PHP-7.1' 2016-12-31 13:34:09 +01:00
Nikita Popov 242d924e59 Fix bug #73847 2016-12-31 13:33:21 +01:00
Xinchen Hui b6553d422d Merge branch 'PHP-7.1'
* PHP-7.1:
  Revert "Reorder the oplines" (Break Zend/tests/return_types/bug71092.phpt)
2016-12-21 14:27:13 +08:00
Xinchen Hui 82988d3e41 Revert "Reorder the oplines" (Break Zend/tests/return_types/bug71092.phpt)
This reverts commit a12f43ee2c.
2016-12-21 14:24:14 +08:00
Dmitry Stogov 088dd88eeb Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed bug #73792 (invalid foreach loop hangs script)
  Fixed bug #73789 (Strange behavior of class constants in switch/case block)
2016-12-20 16:54:28 +03:00
Xinchen Hui 6bd41a1d47 Fixed bug #73789 (Strange behavior of class constants in switch/case block) 2016-12-20 21:01:21 +08:00
Xinchen Hui adf0256c4a Merge branch 'PHP-7.1'
* PHP-7.1:
  Reorder the oplines
2016-12-17 20:09:49 +08:00
Xinchen Hui a12f43ee2c Reorder the oplines
1. we should only do the return type checking when it is really about to
return
2. for 029.php, actually, the exception threw should be discard while it
jmp into finally(it could be observed by change the return to return an array)
3. after this fix, the test 029.phpt behavior consistently with 7.0
4. good for optimizer too
2016-12-17 20:06:18 +08:00
Xinchen Hui 10b037bc33 Merge branch 'PHP-7.1'
* PHP-7.1:
  Add an assertion
2016-12-16 11:09:35 +08:00
Xinchen Hui 8ba7878f1b Add an assertion 2016-12-16 11:09:22 +08:00
Xinchen Hui 8612ac2000 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed bug #73746 (Method that returns string returns UNKNOWN:0 instead)
2016-12-16 11:06:50 +08:00
Xinchen Hui 7cef66c635 Fixed bug #73746 (Method that returns string returns UNKNOWN:0 instead) 2016-12-16 11:06:27 +08:00
Xinchen Hui 9f1e456d5a Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed possible false assertion failure
2016-12-08 22:05:17 +08:00
Xinchen Hui 8250b3fca1 Fixed possible false assertion failure 2016-12-08 22:04:43 +08:00
Nikita Popov 683a0a0f6e Merge branch 'PHP-7.1' 2016-12-07 23:15:02 +01:00
Nikita Popov 60249f4390 Fix propagation of QM_ASSIGN into VERIFY_RETURN_TYPE
VERIFY_RETURN_TYPE uses different formats for the CONST/non-CONST
cases. If we progate a CONST operand into op1, op1 should be
moved to result.
2016-12-07 23:14:46 +01:00
Nikita Popov 6c614cb14c Merge branch 'PHP-7.1' 2016-12-06 22:26:36 +01:00
Nikita Popov 76c4a3db08 Fix bug #73668
Not bothering to implement special handling to get an accurate
range for this case.
2016-12-06 22:25:35 +01:00
Nikita Popov 89f8a34483 Merge branch 'PHP-7.1' 2016-12-06 22:12:01 +01:00
Nikita Popov d7e7f74b24 Factor out common binary op code in range inference
Instead of repeating the same code for binary ops and their
compound assignment variants, factor the range computation out
into a separate function.
2016-12-06 22:09:44 +01:00
Nikita Popov 795cd6d3a7 Merge branch 'PHP-7.1' 2016-12-05 20:41:21 +01:00
Nikita Popov 3b79f8f408 Fix bug #73654 2016-12-05 20:41:14 +01:00
Dmitry Stogov 9c1920d9e8 Revert "Fix memory leaks with FE_RESET upon empty iterator"
This reverts commit 00e516e575.
2016-12-02 11:58:36 +03:00
Dmitry Stogov 7abf3b56f5 Merge branch 'PHP-7.1'
* PHP-7.1:
  Fixed access to uninitialized value
2016-12-01 13:26:26 +03:00
Dmitry Stogov 54244ba565 Fixed access to uninitialized value 2016-12-01 13:25:50 +03:00
Bob Weinand 00e516e575 Fix memory leaks with FE_RESET upon empty iterator
Solved by manually freeing and jumping to the opcode *after* FE_FREE
2016-11-30 17:44:34 +01:00