#
2710ce22 |
| 28-Jun-2016 |
Nikita Popov |
Remove assert for now
|
Revision tags: php-7.1.0alpha2, php-7.0.8, php-5.6.23, php-5.5.37 |
|
#
cdd58edf |
| 16-Jun-2016 |
Nikita Popov |
More type inferences fixes
|
#
14331620 |
| 21-Jun-2016 |
Dmitry Stogov |
Fixed compilation warnings
|
#
811dfba4 |
| 16-Jun-2016 |
Nikita Popov |
More type inference fixes
|
#
ff363e2e |
| 15-Jun-2016 |
Dmitry Stogov |
Implemented RFC: Replace "Missing argument" warning with "Too few arguments" exception Squashed commit of the following: commit 8b45fa2acb8cd92542a39e1e4720fe1f4fabc26c Author: Dmitr
Implemented RFC: Replace "Missing argument" warning with "Too few arguments" exception Squashed commit of the following: commit 8b45fa2acb8cd92542a39e1e4720fe1f4fabc26c Author: Dmitry Stogov <dmitry@zend.com> Date: Thu Jun 16 01:52:50 2016 +0300 Separate slow path of ZEND_RECV into a cold function. commit 9e18895ee59c64c93a96b1ba3061355c4663e962 Author: Dmitry Stogov <dmitry@zend.com> Date: Wed Jun 15 23:26:28 2016 +0300 Required argument can't be IS_UNDEF anymore. commit 662db66e3943d4455c65e4f987bb54abf724ecb2 Author: Dmitry Stogov <dmitry@zend.com> Date: Tue May 31 17:14:50 2016 +0300 Replace "Missing argument" warning by "Too few arguments" exception.
show more ...
|
#
a9512af8 |
| 15-Jun-2016 |
Dmitry Stogov |
Implemented RFC: Fix inconsistent behavior of $this variable Squashed commit of the following: commit bdd3b6895c3ce3eacfcf7d4bf4feb8dfa61801fd Author: Dmitry Stogov <dmitry@zend.com>
Implemented RFC: Fix inconsistent behavior of $this variable Squashed commit of the following: commit bdd3b6895c3ce3eacfcf7d4bf4feb8dfa61801fd Author: Dmitry Stogov <dmitry@zend.com> Date: Thu Jun 16 00:19:42 2016 +0300 Fixed GOTO VM commit 2f1d7c8b89ce821086d357cf65f629f040a85c03 Author: Dmitry Stogov <dmitry@zend.com> Date: Wed Jun 15 21:01:57 2016 +0300 Removed unused variable commit cf749c42b0b1919f70b1e7d6dcbfff76899506af Author: Dmitry Stogov <dmitry@zend.com> Date: Wed Jun 15 19:06:16 2016 +0300 Protection from $this reassign through mb_parse_str() commit 59a9a6c83c66b666971e57f1173b33a422166efd Author: Dmitry Stogov <dmitry@zend.com> Date: Wed Jun 15 18:14:50 2016 +0300 Added type inference rule for FETCH_THIS opcode commit 73f8d14a856f14a461430b3c7534ab2ce870cbf6 Author: Dmitry Stogov <dmitry@zend.com> Date: Wed Jun 15 18:11:18 2016 +0300 Restored PHP-7 behavior of isset($this->foo). It throws exception if not in object context. Removed useless opcode handlers. commit fa0881381e8ae97e022ae5d1ec0851c952f33c82 Author: Dmitry Stogov <dmitry@zend.com> Date: Tue May 31 12:25:47 2016 +0300 Changed "Notice: Undefined variable: this" into "Exception: Using $this when not in object context". commit e32cc528c0f2c97963d8ec83eff0269f1f45af18 Author: Dmitry Stogov <dmitry@zend.com> Date: Tue May 24 02:02:43 2016 +0300 Throw exception on attempt to re-assign $this through extract() and parse_str(). commit 41f1531b52113ec8a4c208aa6b9ef50f1386bb3f Author: Dmitry Stogov <dmitry@zend.com> Date: Mon May 23 22:18:36 2016 +0300 Fixed inconsistent $this behavior
show more ...
|
Revision tags: php-5.6.23RC1 |
|
#
fba6f90a |
| 08-Jun-2016 |
Nikita Popov |
Fix type inference bugs * Add proper array_key_any|array_of_any|array_of_ref in some more places * strlen() on objects may be null * IS fetch on string dim may be null
|
#
d1298725 |
| 15-Jun-2016 |
Dmitry Stogov |
Fixed mistakes in type inference rules.
|
#
04688951 |
| 07-Jun-2016 |
Nikita Popov |
Add support for "instanceof" pi nodes
|
#
9877d8f0 |
| 07-Jun-2016 |
Nikita Popov |
Use union for pi constraints This will make it easier to extend pi constraints without impacting structure sizes.
|
#
0dc772c9 |
| 11-Jun-2016 |
Aaron Piotrowski |
Add iterable type to opcache
|
#
be37de1f |
| 07-Jun-2016 |
Nikita Popov |
Use LCA for object(ce) type joins For B, C extending A the join of object(B) and object(C) should be object(instanceof A). For simplicity we only handle the class hierarchy, as compu
Use LCA for object(ce) type joins For B, C extending A the join of object(B) and object(C) should be object(instanceof A). For simplicity we only handle the class hierarchy, as computing the least common unique ancestor for interfaces would be more involved. Also ignore phi sources that don't have an object type: The join of null and object(A) is now null|object(A) rather than null|object.
show more ...
|
Revision tags: php-7.0.8RC1, php-7.1.0alpha1 |
|
#
d8a23708 |
| 06-Jun-2016 |
Nikita Popov |
Cleanup
|
#
80b39b49 |
| 06-Jun-2016 |
Dmitry Stogov |
Improve type narrowing (check only SSA definitions).
|
#
543649bd |
| 05-Jun-2016 |
Nikita Popov |
Fix correctness issues with type narrowing Fixes bug #72335.
|
#
b111da96 |
| 31-May-2016 |
Dmitry Stogov |
Split ZEND_SEND_VAR_NO_REF into ZEND_SEND_VAR_NO_REF and ZEND_SEND_VAR_NO_REF_EX (similar to ZEND_SEND_VAL) and remove ZEND_ARG_* flags.
|
Revision tags: php-5.6.22, php-5.5.36, php-7.0.7 |
|
#
e745b4ca |
| 18-May-2016 |
Nikita Popov |
Replace BB end with BB len And support empty blocks everywhere.
|
#
dd8379e0 |
| 14-May-2016 |
Nikita Popov |
Inference: $a[]= results in long keys
|
#
6079ba4b |
| 14-May-2016 |
Nikita Popov |
Inference: Fix undef handling for binary ops We need to be careful about correctly handling that undef results in a null value. Otherwise, apart from simply generating incorrect resu
Inference: Fix undef handling for binary ops We need to be careful about correctly handling that undef results in a null value. Otherwise, apart from simply generating incorrect results, we may also end up performing non-monotonic lattice transitions, thus causing an infinite type inference loop (see test).
show more ...
|
#
773b3778 |
| 14-May-2016 |
Nikita Popov |
Inference: Use common handling for compound assign ops Extract the inference code for binary operators and then handle all ASSIGN_* opcodes the same way.
|
#
c5160d78 |
| 14-May-2016 |
Nikita Popov |
Add COPY_SSA_OBJ_TYPE macro Use it consistently in the ASSIGN_* implementations, previously it was only present in ASSIGN_ADD.
|
#
94d09163 |
| 14-May-2016 |
Nikita Popov |
Fix & improve assign_dim inference Extract a helper function for handling ASSIGN_DIM and ASSIGN_* with ASSIGN_DIM ev uniformly. Previously the code was copy pasted for each ASSIGN_*
Fix & improve assign_dim inference Extract a helper function for handling ASSIGN_DIM and ASSIGN_* with ASSIGN_DIM ev uniformly. Previously the code was copy pasted for each ASSIGN_* op, but the variable names were not correctly adjusted (tmp vs orig), so the type inference result was wrong. Also sligthly improve handling: * Result cannot be false, will always be converted to array. * If the dim is a CONST string operand, we don't have to assume numeric strings. * If the inserted value may be undef, the array may contain null.
show more ...
|
Revision tags: php-5.6.22RC1, php-7.0.7RC1 |
|
#
172d8552 |
| 04-May-2016 |
Dmitry Stogov |
Fixed type inference rules.
|
#
0615c59a |
| 30-Apr-2016 |
Nikita Popov |
Mark all $php_errormsg as refs to inhibit optimization
|
Revision tags: php-7.0.6, php-5.6.21, php-5.5.35 |
|
#
55caaac7 |
| 20-Apr-2016 |
Nikita Popov |
Make MAY_BE_ERROR handling more accurate This ended up causing weird things like MAY_BE_ERROR CVs. Also make sure that ASSIGN result isn't MAY_BE_REF.
|