1
0
mirror of https://github.com/php/php-src.git synced 2026-04-25 17:08:14 +02:00
Commit Graph

532 Commits

Author SHA1 Message Date
Dmitry Stogov bdd3fec7f8 Fixed incorrec type usage 2016-10-25 22:12:34 +03:00
Dmitry Stogov 01bc515b4d Export zend_analyze_calls() to allow building call trees. 2016-10-25 17:20:27 +03:00
Nikita Popov c3232c5903 Fix call graph construction
Travis build for 7.1+ has been failing for the past week...
2016-10-23 22:12:55 +02:00
Dmitry Stogov 565ce0d41d Fixed typo 2016-10-20 01:17:40 +03:00
Dmitry Stogov ac6134fb64 Fixed type inference rules. 2016-10-18 12:39:33 +03:00
Dmitry Stogov ed3196ea35 Use simple "one-pass" algorithm. 2016-10-18 00:06:20 +03:00
Nikita Popov 9f472ba5e3 Various function info fixes 2016-10-15 23:58:31 +02:00
Nikita Popov 659cc278e2 Various RC inference fixes 2016-10-15 23:58:29 +02:00
Dmitry Stogov e92a18dcd5 Fixed referencecounter inference rules
(cherry picked from commit 6046a99b97)
2016-10-14 01:24:46 +02:00
Dmitry Stogov 233992409b Fixed referencecounter inference rules
(cherry picked from commit fae7d6b9bb)
2016-10-14 01:24:23 +02:00
Dmitry Stogov 3760bc5407 Removed deprecated flag 2016-10-10 11:48:29 +03:00
Dmitry Stogov 771600ee6b Fixed information about possible return value 2016-10-10 11:46:43 +03:00
Dmitry Stogov b2d53e47ed Updated reference-counting inferece rules.
The previous rules refected PHP-5 behavior and were completely wrong for PHP-7. (e.g. scalars don't have reference counters at all).
This change shouldn't affect anything, because results of this inference are not used yet.
2016-10-06 11:08:01 +03:00
Dmitry Stogov c218c4f01e Special handling for $php_errormsg and $http_response_header. 2016-09-30 02:41:08 +03:00
Nikita Popov c7651c2396 Fix a couple of ASSIGN_DIM/OBJ inference bugs
Account for possible null return values better.
2016-09-24 22:43:27 +02:00
Nikita Popov db801763e4 Add range inference for ZEND_STRLEN
On 32-bit systems we conservatively allow negative lengths.
On 64-bit systems, the range could additionally be restricted to
the canonical 48-bit size.
2016-09-24 22:43:27 +02:00
Dmitry Stogov 846441ab4b Prevent optimization of huge functions. 2016-09-16 14:03:05 +03:00
Xinchen Hui a90e438af3 Merge branch 'PHP-7.1' of git.php.net:/php-src into PHP-7.1
* 'PHP-7.1' of git.php.net:/php-src:
  Don't optimize (string) cast on arrays
2016-09-09 22:40:53 +08:00
Xinchen Hui 2a3b75a0eb Fixed function info 2016-09-09 22:40:08 +08:00
Nikita Popov 1d4b831d63 Merge branch 'PHP-7.0' into PHP-7.1 2016-09-09 16:38:42 +02:00
Nikita Popov e3c08de08a Don't optimize (string) cast on arrays
Otherwise we throw a notice during pass1_5 optimization.
2016-09-09 16:38:26 +02:00
Nikita Popov 766264f8d2 Merge branch 'PHP-7.0' into PHP-7.1 2016-09-09 16:02:59 +02:00
Nikita Popov bbcf77c309 Fix some block_pass bugs 2016-09-09 15:58:36 +02:00
Dmitry Stogov 6aa07c9083 Fixed type inference bug 2016-09-07 11:36:14 +03:00
Dmitry Stogov 94fbcbe172 Allow optional splitting of basic blocks at RECV/RECV_INIT opcodes. 2016-08-29 20:35:17 +03:00
Dmitry Stogov b5bab0fce8 Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  Fixed bug #72944 (Null pointer deref in zval_delref_p).
2016-08-29 12:07:54 +03:00
Dmitry Stogov b66039db33 Fixed bug #72944 (Null pointer deref in zval_delref_p). 2016-08-29 12:02:50 +03:00
Dmitry Stogov 129e8dadf4 op_arrays may be optimized independetly and "script" might be NULL 2016-08-23 13:17:53 +03:00
Dmitry Stogov 76707dc204 Don't keep dangling pointers. 2016-08-23 12:58:46 +03:00
Dmitry Stogov caf890b291 Fixed CFG construction for stackless execution (split basic blocks after calls) 2016-08-22 16:48:26 +03:00
Xinchen Hui 66a527b8c1 Fixed segfault introduced in 447e57a1e1 2016-08-18 15:37:39 +08:00
Kalle Sommer Nielsen 447e57a1e1 Fixed 7.1 build, decls first please! 2016-08-17 20:26:32 +02:00
Nikita Popov 1a780e6727 Add assertion to prevent type narrowing
Currently type narrowing is always a bug, make sure we know about
it.
2016-08-05 16:30:57 +02:00
Nikita Popov fc7c81ff54 Fixed bug #72762 2016-08-05 16:27:55 +02:00
Nikita Popov 42260325a4 Fix optimization of $i = $i++ 2016-07-17 22:47:49 +02:00
Dmitry Stogov 0da7c08e39 Prevent wrong optimization 2016-07-13 15:05:11 +03:00
Nikita Popov 5f6effed43 Add opcodes to zend_wrong_string_offset() 2016-07-10 15:15:34 +02:00
Aaron Piotrowski d9a9cf8eca Merge branch 'master' into iterable 2016-07-03 22:42:10 -05:00
Dmitry Stogov acdafc0a27 Prevent inlining through call_user_func() and call_user_func_array() 2016-07-01 00:16:54 +03:00
Dmitry Stogov f2e4fc307b Fixed ext/opcache/tests/bug70207.phpt 2016-06-30 21:50:57 +03:00
Dmitry Stogov 1a14533806 Introduce new CHECK_VAR instruction to keep warnings about undefined variables. 2016-06-30 21:40:34 +03:00
Dmitry Stogov 3a45242669 Disable inlining for $this->foo(), because $this may be not in object context 2016-06-30 21:05:48 +03:00
Dmitry Stogov c3667a5eed Disable inlining for $this->foo(), because $this may be used not in object context 2016-06-30 21:03:08 +03:00
Dmitry Stogov 5ae07dc34a Fixed incorrect constant propagation 2016-06-30 20:48:16 +03:00
Nikita Popov 6f8273e3bf Fix RT_CONSTANT_EX typo 2016-06-30 17:42:57 +02:00
Dmitry Stogov d898344663 Inline simple constant functions 2016-06-30 17:04:25 +03:00
Dmitry Stogov 871cd76af4 clanup 2016-06-29 17:53:39 +03:00
Nikita Popov 2710ce22a0 Remove assert for now 2016-06-28 18:47:29 +02:00
Nikita Popov cdd58edf42 More type inferences fixes 2016-06-28 11:49:50 +02:00
Dmitry Stogov 1433162083 Fixed compilation warnings 2016-06-21 20:12:29 +03:00