Commit Graph

93864 Commits

Author SHA1 Message Date
Dmitry Stogov
dd3cb33ef0 Support for incompletely constructed SSA 2015-12-23 03:20:28 +03:00
Dmitry Stogov
aa4a83fec7 Fixed bug #71196 (Memory leak with out-of-order live ranges) 2015-12-23 01:47:38 +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
Dmitry Stogov
6e6280a388 Corrected error messages:
- we don't use NULL for overlaoded objects for ages
- fixed array/object mess
2015-12-22 20:55:11 +03:00
Julien Pauli
96c1325092 Updated NEWS 2015-12-22 18:12:56 +01: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
Bob Weinand
2322af28c5 Merge branch 'PHP-7.0' 2015-12-22 17:39:52 +01:00
Bob Weinand
3e3d0290ff Added test for (long-ago fixed) bug #70083 2015-12-22 17:39:36 +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
897bf916bc Updated NEWS 2015-12-22 16:27:52 +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
Anatol Belski
6607b6506a Merge branch 'PHP-7.0'
* PHP-7.0:
  update NEWS
2015-12-22 13:19:33 +01:00
Anatol Belski
a3e37e0818 update NEWS 2015-12-22 13:18:21 +01:00
Anatol Belski
172681b555 Merge branch 'PHP-7.0'
* PHP-7.0:
  7.0.3 next
2015-12-22 10:49:38 +01:00
Anatol Belski
84530360a0 7.0.3 next 2015-12-22 10:48:32 +01: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
Lior Kaplan
db1504de23 Align NEWS entry format 2015-12-21 23:14:23 +02: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
Dmitry Stogov
1fe8a1dec9 Merge branch 'PHP-7.0'
* PHP-7.0:
  Fixed possible crash on Zend/tests/bug71154.phpt
2015-12-21 15:58:58 +03:00
Dmitry Stogov
0402f05ba3 Fixed possible crash on Zend/tests/bug71154.phpt 2015-12-21 15:57:53 +03:00
Anatol Belski
b8515125c8 Merge branch 'PHP-7.0'
* PHP-7.0:
  Revert "Partially fix bug #71129"
2015-12-21 12:10:49 +01:00
Anatol Belski
53bfb6618d Revert "Partially fix bug #71129"
This reverts commit 4c55669caa.

The way it is fixes doesn't satisfy every SAPI, so a better solution
is yet to work out.
2015-12-21 12:09:24 +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
Lior Kaplan
c85f569e52 Align #71165 entry format 2015-12-20 23:48:25 +02:00
Anatol Belski
6f4286f303 Merge branch 'PHP-7.0'
* PHP-7.0:
  Partially fix bug #71129
  Typo
  Bug #71105 was fixed in 7.0.1 (commit 9374ba35)
2015-12-20 15:27:13 +01:00
Anatol Belski
4c55669caa Partially fix bug #71129 2015-12-20 15:25:11 +01:00
Nikita Popov
420ff42bc0 Protect against overflows in pi constraints 2015-12-20 12:56:05 +01:00
Xinchen Hui
825b5901df Merge branch 'master' of git.php.net:/php-src 2015-12-19 18:53:34 -08:00
Xinchen Hui
098af9e559 typo agian :< 2015-12-19 18:40:58 -08: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