Commit Graph

1106 Commits

Author SHA1 Message Date
Nikita Popov
175b9f67f6 Merge branch 'PHP-7.0' into PHP-7.1 2016-12-22 12:47:29 +01:00
Sébastien Santoro
25c96f92f4 Fix IS_UNDEF comparisons in opcache
These conditions were formerly `!q->pData` and `!p->pData`, and should
now be detected as undefined variables, using the special type IS_UNDEF.

Incidentally, this syntax raised a logical-not-parentheses compiler
warning, now gone.
2016-12-22 12:46:14 +01: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
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
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
8ba7878f1b Add an assertion 2016-12-16 11:09:22 +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
8250b3fca1 Fixed possible false assertion failure 2016-12-08 22:04:43 +08: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
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
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
3b79f8f408 Fix bug #73654 2016-12-05 20:41:14 +01:00
Dmitry Stogov
54244ba565 Fixed access to uninitialized value 2016-12-01 13:25:50 +03:00
Dmitry Stogov
54f7abfe7d Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  Simpler overflow check
  fix gcov coverage
2016-12-01 10:34:09 +03:00
Dmitry Stogov
003346c450 Simpler overflow check 2016-12-01 10:30:02 +03:00
Xinchen Hui
a0b28434cc Fixed bug #73583 (Segfaults when conditionally declared class and function have the same name)
bug was introduced in rev 88eae43f , and the runtime defined key is not
merged-able
2016-11-23 14:24:46 +08:00
Anatol Belski
d61db8d602 Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  remove TSRMLS_*
2016-11-22 00:32:42 +01:00
Anatol Belski
5e9b4c26a5 remove TSRMLS_* 2016-11-21 23:53:37 +01:00
Nikita Popov
226b82b127 RC inference fixes 2016-11-17 13:47:36 +01:00
Dmitry Stogov
205c69939a Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  Fixed 64-bit build
2016-11-17 14:05:48 +03:00
Dmitry Stogov
c2173c16d0 Fixed 64-bit build 2016-11-17 14:05:22 +03:00
Dmitry Stogov
365d613480 Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  Overflow check
2016-11-17 13:18:25 +03:00
Dmitry Stogov
d4b3f89c53 Overflow check 2016-11-17 13:17:34 +03:00
Dmitry Stogov
f8f35d0d4e VERIFY_RETURN_TYPE on references can't be eliminated 2016-11-17 10:41:42 +03:00
Dmitry Stogov
429bfbd4c2 Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  Accorate handling of too big inodes of chroot directories
2016-11-17 01:14:47 +03:00
Dmitry Stogov
27542d9c9d Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  Accorate handling of too big inodes of chroot directories
2016-11-17 01:14:23 +03:00
Dmitry Stogov
9849c97b1b Accorate handling of too big inodes of chroot directories 2016-11-17 01:08:42 +03:00
Nikita Popov
592c10d37c Merge branch 'PHP-7.0' into PHP-7.1 2016-11-16 21:33:05 +01:00
Mitch Hagstrand
1d8be7c044 Fix #73546: Logging for opcache has an empty file name 2016-11-16 21:30:40 +01:00
Dmitry Stogov
09ac2bf752 Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  "opcache.validate_root" is useless on Windows
2016-11-16 23:20:22 +03:00
Dmitry Stogov
71ee641327 Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  "opcache.validate_root" is useless on Windows
2016-11-16 23:19:56 +03:00
Dmitry Stogov
935d922114 "opcache.validate_root" is useless on Windows 2016-11-16 23:15:14 +03:00
Dmitry Stogov
cd3527baee Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  Use full path
2016-11-16 23:09:13 +03:00
Dmitry Stogov
8e350a627a Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  Use full path
2016-11-16 23:05:00 +03:00
Dmitry Stogov
8202b97077 Use full path 2016-11-16 23:01:40 +03:00
Dmitry Stogov
a04d9e0f1b Fixed type ingference 2016-11-16 20:49:00 +03:00
Dmitry Stogov
a91f3d475e Fixed ZTS build 2016-11-16 16:43:57 +03:00
Dmitry Stogov
86460af56c Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  Fixed bug #69090 (check cached files permissions)
2016-11-16 12:56:15 +03:00
Dmitry Stogov
a1a5b52f3b Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  Fixed bug #69090 (check cached files permissions)
2016-11-16 12:49:50 +03:00
Dmitry Stogov
ecba563f2f Fixed bug #69090 (check cached files permissions) 2016-11-16 12:43:10 +03:00
Nikita Popov
5f4f83220a Don't inline if function has ref arguments
Otherwise we end up leaving opcodes like FETCH_DIM_W behind. The
test case demonstrates a leak in particular.
2016-11-12 18:49:41 +01:00
Nikita Popov
3c8beb16c4 Allow early-binding of ZEND_NEW args 2016-11-10 22:52:15 +01:00
Nikita Popov
8106c01afc Fix block pass leaks 2016-11-10 22:28:32 +01:00
Nikita Popov
62af7e0db8 Merge branch 'PHP-7.0' into PHP-7.1 2016-11-10 22:19:48 +01:00
Nikita Popov
bb3d0c0e17 Fcall optimization: Avoid FETCH_DIM_R with UNUSED op2 2016-11-10 21:36:46 +01:00
Nikita Popov
3048428cf0 Don't elide undef var notice 2016-11-10 14:58:54 +01:00
Nikita Popov
4f76073b6d Set result of FREE to unused in block pass 2016-11-10 14:55:52 +01:00
Nikita Popov
570e7fa331 Fix ext/xml func info 2016-11-10 14:55:50 +01:00
Nikita Popov
0378121c64 Range inference cleanup
Replace inline #ifdefs with some macros. Fix build if NEG_RANGE is
disabled. Fix some typos. Add some comments.
2016-11-10 14:55:40 +01:00
Dmitry Stogov
a5458e7e8e Fixed reference-counter inference 2016-11-01 19:04:10 +03:00