Commit Graph

40424 Commits

Author SHA1 Message Date
Dmitry Stogov
28a016a6dc Fixed SSA construction for CFG with unreachable BB 2015-12-23 03:52:38 +03:00
Dmitry Stogov
1e3ab15843 Fixed test on 32-bit systems 2015-12-23 03:52:01 +03:00
Dmitry Stogov
e82a73573b Remove live-range if the corresponding definition is deleted 2015-12-23 03:46:40 +03:00
Dmitry Stogov
dd3cb33ef0 Support for incompletely constructed SSA 2015-12-23 03:20:28 +03:00
Nikita Popov
fdfbeeb296 Always create ARRAY_ELEM ssa var for ELEM_REF 2015-12-22 23:08:26 +01:00
Dmitry Stogov
5c1c8f1dec Merge branch 'PHP-7.0'
* PHP-7.0:
  Fixed incorrect setting on 32-bit systems
2015-12-22 21:33:07 +03:00
Dmitry Stogov
f3bf95eb81 Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  Fixed incorrect setting on 32-bit systems
2015-12-22 21:32:45 +03:00
Dmitry Stogov
a57a08e791 Fixed incorrect setting on 32-bit systems 2015-12-22 21:31:28 +03:00
Ilia Alshanetsky
b92ae5d7bc Fixed test 2015-12-22 18:12:56 +01:00
Ilia Alshanetsky
f705063e23 Added validation to parse_url() to prohibit restricted characters inside login/pass components based on RFC3986 2015-12-22 18:12:56 +01:00
Julien Pauli
c0eea8a8b7 Merge branch 'PHP-7.0'
* PHP-7.0:
  Updated NEWS
  Fix #70720
  Align NEWS entry format
2015-12-22 16:28:12 +01:00
Julien Pauli
332b778d68 Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  Fix #70720
  Align NEWS entry format
2015-12-22 16:26:30 +01:00
Julien Pauli
ff7ed9021c Fix #70720 2015-12-22 16:25:51 +01:00
Dmitry Stogov
a75c6d5fb2 Skip "useless" SSA variables for INIT_ARRAY, ADD_ARRAY_ELEMENT, FE_RESET_R 2015-12-22 17:35:08 +03:00
Dmitry Stogov
b4b6d58990 Add ability to prevent "useless" SSA variable creation for "refcounting inference". 2015-12-22 16:43:37 +03:00
Anatol Belski
e8f1db14d5 Merge branch 'PHP-7.0'
* PHP-7.0:
  release only appropriate string
2015-12-22 14:37:05 +01:00
Anatol Belski
4037ba5847 release only appropriate string 2015-12-22 14:33:19 +01:00
Dmitry Stogov
83cd828469 Make RC1/RCN inference more accurate (it's probably not 100% correct anyway) 2015-12-22 15:35:17 +03:00
Xinchen Hui
e9b2febd61 Merge branch 'PHP-7.0'
* PHP-7.0:
  Fixed bug #71190 (substr_replace converts integers in original $search array to strings)
2015-12-22 12:29:00 +08:00
Xinchen Hui
d63ae2c382 Fixed bug #71190 (substr_replace converts integers in original $search array to strings) 2015-12-22 12:13:28 +08:00
Xinchen Hui
b216481a96 Merge branch 'PHP-7.0'
* PHP-7.0:
  Fixed #71188 (str_replace converts integers in original $search array to strings)
2015-12-22 11:07:42 +08:00
Xinchen Hui
3524849f77 Fixed #71188 (str_replace converts integers in original $search array to strings) 2015-12-22 11:07:30 +08:00
Dmitry Stogov
d952eb753c Get rid of MAY_BE_DEF 2015-12-21 19:46:55 +03:00
Dmitry Stogov
ae303cf82f Split MAY_BE_NULL from MAY_BE_UNDEF 2015-12-21 18:39:24 +03:00
Nikita Popov
88eae43ff9 Remove uses of VARs in extended_value
The DECLARE_(ANON_)INHERITED_CLASS(_DELAYED) opcodes were
referencing the parent ce VAR through extended_value. This is
hacky and we can't track the def-use chain in SSA.

To avoid this, the layout of declaration opcodes is changed
as follows: op1 points to the lcname and rtd_key literals, in
that order. (For anon/lambda declarations only one of lcname or
rtd_key is present.) This frees up op2, which is now used to
reference the parent ce VAR in inheriting declarations. The
jmp offset for anon class declarations is moved frop op2 to
extended_value.

The changes were applied both to class and function declarations
to keep everything symmetric.
2015-12-21 14:44:42 +01:00
Xinchen Hui
952748a606 Merge branch 'PHP-7.0'
* PHP-7.0:
  Fixed typo
2015-12-21 18:13:11 +08:00
Xinchen Hui
4531d2c591 Fixed typo 2015-12-21 18:12:57 +08:00
Xinchen Hui
4f48704014 Merge branch 'PHP-7.0'
* PHP-7.0:
  Fixed bug #71178 (preg_replace with arrays creates [0] in replace array if not already set)
  Align #71165 entry format
2015-12-21 18:11:01 +08:00
Xinchen Hui
817513af4e Fixed bug #71178 (preg_replace with arrays creates [0] in replace array if not already set) 2015-12-21 18:10:48 +08:00
Nikita Popov
420ff42bc0 Protect against overflows in pi constraints 2015-12-20 12:56:05 +01:00
Yasuo Ohgaki
0cf7143441 Add session module test 2015-12-20 11:39:57 +09:00
Nikita Popov
0da1378a88 long -> zend_long in range inference 2015-12-20 00:06:12 +01:00
Nikita Popov
549d7d4876 Fix Pi constraint for -LONG_MIN adjustments
-LONG_MIN == LONG_MIN so bad things will happen.
Example of JIT miscompile:

    function test($n) {
	if ($n + PHP_INT_MIN == 0) {
	    $n2 = (int) ($n + PHP_INT_MAX);
	    var_dump($n2);
	}
    }
    test(PHP_INT_MAX + 1);
2015-12-20 00:06:12 +01:00
Nikita Popov
c9ea8fef96 Extrace find_adjusted_tmp_var() function
This code was duplicated for op1 and op2
2015-12-20 00:06:12 +01:00
Nikita Popov
fc68094497 Simplify bf/bt computation in pi placement
The meaning of the successors is well-defined, no need to check it.
2015-12-20 00:03:52 +01:00
Nikita Popov
d7424a5b04 Fix typo in pi placement 2015-12-20 00:03:52 +01:00
Andrea Faulds
78155068e2 Merge branch 'PHP-7.0' 2015-12-18 19:32:20 +00:00
Andrea Faulds
8d217db369 Fix bug #66179
This also fixes ext/standard/tests/general_functions/var_export-locale.phpt
to actually run the floating-point section.
2015-12-18 19:31:21 +00:00
Nikita Popov
7cc3089d8f Clone cannot return reference 2015-12-18 17:37:13 +01:00
Nikita Popov
8ca21876e1 Fix zend_get_func_info() 2015-12-18 17:37:13 +01:00
Xinchen Hui
56b8f47491 Merge branch 'PHP-7.0'
Conflicts:
	NEWS
2015-12-19 00:30:35 +08:00
Xinchen Hui
8f9af36da3 Fixed bug #71144 (Sementation fault when using cURL with ZTS) 2015-12-19 00:29:19 +08:00
Xinchen Hui
916f10ac31 Merge branch 'PHP-7.0' of git.php.net:/php-src into PHP-7.0 2015-12-19 00:20:18 +08:00
Xinchen Hui
750da15bc7 Merge branch 'PHP-7.0' 2015-12-19 00:19:34 +08:00
Xinchen Hui
512498d083 Fixed test skip 2015-12-19 00:19:21 +08:00
Xinchen Hui
c555d90f4f Implemented FR #71159 (Upgraed bundled SQLite lib to 3.9.2) 2015-12-18 23:49:59 +08:00
Dmitry Stogov
8136e4572e Fixed dump format 2015-12-18 17:18:13 +03:00
Dmitry Stogov
f9b5345a98 Fixed compilation 2015-12-18 16:53:31 +03:00
Xinchen Hui
af871f61dc Merge branch 'PHP-7.0'
* PHP-7.0:
  Improved fix for #71127
2015-12-18 17:42:11 +08:00
Xinchen Hui
2f47e9872e Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  Improved fix for #71127

Conflicts:
	ext/opcache/Optimizer/pass1_5.c
2015-12-18 17:41:42 +08:00