Commit Graph

11342 Commits

Author SHA1 Message Date
Xinchen Hui
9397f52724 Fixed Bug #70967 (Weird error handling for __toString when Error is thrown) 2015-11-28 23:38:19 -08:00
Andrea Faulds
d120006bfd Merge branch 'PHP-7.0' 2015-11-27 15:20:25 +00:00
Andrea Faulds
8907da99b8 Set called_scope in Closure::call (fixes bug #70987) 2015-11-27 15:06:13 +00:00
Nikita Popov
95283a0504 Merge branch 'PHP-7.0' 2015-11-26 16:57:11 +01:00
Nikita Popov
99dd7ee80b Forbid namespace\int type hint as well 2015-11-26 16:56:08 +01:00
Bob Weinand
39b616ac23 Merge branch 'PHP-7.0' 2015-11-25 23:10:06 +01:00
Bob Weinand
2de8915dea Fixed bug causing exception not being thrown immediately into a generator yielding from an array 2015-11-25 23:09:44 +01:00
Xinchen Hui
d6f39a1011 Merge branch 'PHP-7.0' of git.php.net:/php-src into PHP-7.0 2015-11-25 19:12:40 +08:00
Xinchen Hui
554e4206ab Merge branch 'master' of git.php.net:/php-src 2015-11-25 19:12:04 +08:00
Xinchen Hui
06bcaf98c5 Merge branch 'PHP-7.0' 2015-11-25 19:11:40 +08:00
Xinchen Hui
3cdbe347ae Always lower name 2015-11-25 19:11:22 +08:00
Xinchen Hui
05738eb71a Revert "Improved fix for Fully qualified (leading backslash) type names must fail"
This reverts commit 00865ae22f.
2015-11-25 19:06:42 +08:00
Bob Weinand
0a512931c9 Merge branch 'PHP-7.0' 2015-11-25 09:55:59 +01:00
Bob Weinand
73a92964ff Fixed bug #70965 (yield from with a common iterator primes too much) 2015-11-25 09:54:24 +01:00
Xinchen Hui
c6b08e99fe Merge branch 'PHP-7.0' 2015-11-25 11:41:01 +08:00
Xinchen Hui
00865ae22f Improved fix for Fully qualified (leading backslash) type names must fail
it now all fails with COMPILE_ERROR instead of syntax error for T_ARRAY
but COMPILE_ERROR for int
2015-11-25 11:27:32 +08:00
Bob Weinand
80d9dcafe0 Fixed bug #70904 (yield from incorrectly marks valid generator as finished) 2015-11-24 23:43:34 +01:00
Bob Weinand
569763cb1a Fix scalar type names with leading backslash 2015-11-24 21:39:06 +01:00
Xinchen Hui
34bff5b91c Merge branch 'PHP-7.0' 2015-11-23 23:16:11 +08:00
Xinchen Hui
7e9f416218 Fixed bug #70959 (ArrayObject unserialize does not restore protected fields) 2015-11-23 23:15:33 +08:00
Xinchen Hui
8c22edc546 Merge branch 'PHP-7.0' 2015-11-23 06:12:46 -08:00
Xinchen Hui
6313e16a04 Improved fix for bug (count on symbol table) 2015-11-23 06:12:03 -08:00
Xinchen Hui
42252f409b Merge branch 'PHP-7.0' 2015-11-23 18:33:21 +08:00
Xinchen Hui
45c5e27183 Fixed test 2015-11-23 18:33:14 +08:00
Xinchen Hui
51ccc88b87 Port fix to 7.0 2015-11-23 18:31:56 +08:00
Xinchen Hui
397be4ff54 Merge branch 'PHP-5.6' into PHP-7.0
Conflicts:
	Zend/zend_compile.c
2015-11-23 18:30:41 +08:00
Xinchen Hui
a2b85ddecf Fixed bug #70958 (Invalid opcode while using ::class as trait method paramater default value) 2015-11-23 18:29:59 +08:00
Xinchen Hui
f49078fd76 Merge branch 'master' of git.php.net:/php-src 2015-11-23 12:41:15 +08:00
Xinchen Hui
3bd231c0a0 Merge branch 'PHP-7.0' 2015-11-23 12:40:54 +08:00
Xinchen Hui
1b16c2f41c Merge branch 'PHP-5.6' into PHP-7.0
Conflicts:
	Zend/zend_compile.c
2015-11-23 12:22:17 +08:00
Xinchen Hui
ab17840d33 Fixed bug #70957 (self::class can not be resolved with reflection for abstract class) 2015-11-23 12:20:44 +08:00
Xinchen Hui
7bfc4fca60 cleanup 2015-11-21 07:14:12 -08:00
Xinchen Hui
fb7564d457 Merge branch 'PHP-7.0' 2015-11-21 06:11:02 -08:00
Xinchen Hui
31d93fcf4b Port the fix of 5.6 to 7.0 2015-11-21 05:41:53 -08:00
Xinchen Hui
c6961cb41b Merge branch 'PHP-5.6' into PHP-7.0
Conflicts:
	Zend/tests/bug70944.phpt
	Zend/zend_exceptions.c
2015-11-21 05:03:20 -08:00
Xinchen Hui
205e0ba81d Update test script 2015-11-21 05:01:51 -08:00
Xinchen Hui
cbc71995a8 Unused var 2015-11-21 04:54:48 -08:00
Xinchen Hui
7b195c9875 Improved fix for bug #70944 2015-11-21 00:27:56 -08:00
Dmitry Stogov
b3393baa5d Refactored CFG based optimization using new CFG representation.
Squashed commit of the following:

commit 907533390678f58eac738040ef62a40788048bef
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Fri Nov 20 21:25:28 2015 +0300

    cleanup

commit 82f7e6f5bb434f12e9fdf45f597be351527f383c
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Fri Nov 20 21:22:01 2015 +0300

    Update build system

commit 8fd83d843fde3f486692de4e2c6b7d64d4192704
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Fri Nov 20 20:50:32 2015 +0300

    Reachable blocks can't be empty

commit 5822a36269833930a35cb3547222357118b11310
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Fri Nov 20 19:11:02 2015 +0300

    added missing constraints

commit 2d0c00b243479924de0260ae8d80d624c36994a3
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Fri Nov 20 19:03:12 2015 +0300

    optimization

commit 29d1e5eb210c51b052cac4d6c232aaa2c724dbbb
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Fri Nov 20 18:34:11 2015 +0300

    Added missing optimization patterns

commit 38dd3b3f2459f5193c742633213f41d78326ea28
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Fri Nov 20 17:47:06 2015 +0300

    zend_optimize_block() refactoring

commit 3dc97bd1f6d433dff0617338382347b6d0c08f84
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Fri Nov 20 14:30:32 2015 +0300

    We don't use CFG back-references anymore

commit 2242c9e0aa741d287146ad43179650796f199f2d
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Fri Nov 20 14:16:03 2015 +0300

    Consistent naming

commit 64f2856716069390ed7703ac88905cebf5e04023
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Fri Nov 20 13:29:32 2015 +0300

    Optimization and separate building of direct CFG from predecessrs calculation

commit 9389be4869b13ec45df5dbd443015d2ac539a347
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Fri Nov 20 10:44:19 2015 +0300

    Use CFG without back references (incomplete, but works)

commit 3d3ecd4b883959cf7b86c33622183295f913924e
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Fri Nov 20 00:50:09 2015 +0300

    Fixed iteration in reverse order

commit 52f7fde0c3dfa4b4591519828ebdb238c2377936
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Thu Nov 19 18:35:09 2015 +0300

    Separate debugging code into zend_dump.c

commit 4193a039ea96bae41baf97c6e458f419e8dbf9c5
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Thu Nov 19 17:22:04 2015 +0300

    Remove unused code

commit 4228fdc57d8d120e1dad4e4d44045fa1a6f06fe0
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Thu Nov 19 17:21:20 2015 +0300

    Remove dead live-ranges only on assembling basic blocks

commit 9a4a7966edf19b92678876f85565700694205598
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Thu Nov 19 15:26:29 2015 +0300

    New CFG representation (incomplete)
2015-11-20 22:06:36 +03:00
Xinchen Hui
4e94fa09e6 Merge branch 'PHP-7.0' 2015-11-20 06:57:14 -08:00
Xinchen Hui
4674f18a4b Improved previously fix a little 2015-11-20 06:54:57 -08:00
Xinchen Hui
cc98663fcd Merge branch 'PHP-7.0' 2015-11-20 06:37:54 -08:00
Xinchen Hui
519f9bc675 Fixed bug #70947 (INI parser segfault with INI_SCANNER_TYPED) 2015-11-20 06:37:38 -08:00
Xinchen Hui
61d5ac2d7e Merge branch 'PHP-7.0' 2015-11-20 16:38:36 +08:00
Xinchen Hui
a2e4e64682 Merge branch 'PHP-5.6' into PHP-7.0
Conflicts:
	Zend/zend_exceptions.c
2015-11-20 16:38:00 +08:00
Xinchen Hui
a1c887964e Fixed bug #70944 (try{ } finally{} can create infinite chains of exceptions) 2015-11-20 16:24:53 +08:00
Dmitry Stogov
d6308afce9 Proper optmisation of "goto" into the middle of "try" block. 2015-11-19 11:19:06 +03:00
Dmitry Stogov
84610b1f39 Don't keep wrong jump target in last CATCH. 2015-11-19 00:47:08 +03:00
Andrea Faulds
366ba41334 Add void return type 2015-11-18 17:30:49 +00:00
Dmitry Stogov
e603769cee Fixed signed/unsigned mismatch 2015-11-17 19:02:17 +03:00
Dmitry Stogov
843c165735 Don't undo/redo "pass two" for jump targets in opcache optimizer. 2015-11-17 07:15:35 +03:00
Xinchen Hui
7d80ab2e12 Addtional fixes of #70918 2015-11-16 18:19:22 +08:00
Xinchen Hui
4bf3c1481f Merge branch 'master' of git.php.net:/php-src 2015-11-14 18:42:23 -08:00
Xinchen Hui
06fe956460 Fixed Bug #70918 (Segfault using static outside of class scope) 2015-11-14 18:41:55 -08:00
Anatol Belski
8dc903d8d0 Merge branch 'PHP-7.0'
* PHP-7.0:
  fix test title
2015-11-15 00:04:19 +01:00
Anatol Belski
1934d6d9ab fix test title
c/p mistake :)
2015-11-15 00:03:40 +01:00
Anatol Belski
7901bee575 Merge branch 'PHP-7.0'
* PHP-7.0:
  update NEWS
  Fixed bug #70914 zend_throw_or_error() format string vulnerability
2015-11-14 23:49:59 +01:00
Taoguang Chen
617698dfe0 Fixed bug #70914 zend_throw_or_error() format string vulnerability 2015-11-14 23:44:59 +01:00
Xinchen Hui
36d25a287b Merge branch 'PHP-7.0' 2015-11-13 21:25:06 +08:00
Xinchen Hui
25de928df7 Fixed bug #70912 (Null ptr dereference instantiating class with invalid array property) 2015-11-13 21:24:42 +08:00
Dmitry Stogov
3a5fa926bf Squashed commit of the following:
commit afe963e6cc289696e60c6c679796ba2197c52b3b
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Fri Nov 13 15:32:29 2015 +0300

    Added news entry

commit a126b891c97848dd7ef8f1abf716328c46e0f19c
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Fri Nov 13 15:29:21 2015 +0300

    VERIFY_RETURN_TYPE doesn't have to cleanup operand on exception, bacause now, live temporary variables are released by exception unwinder.

commit 0db475e98786e6bcaa8401ee3e0b33743b9a2f2b
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Thu Nov 12 22:55:39 2015 +0300

    Fixed copy/paste

commit 0ac73fe7174bec9de9a610319a98b259bea67f7f
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Wed Nov 11 16:11:50 2015 +0300

    Fixed bug #62210 (Exceptions can leak temporary variables)
2015-11-13 15:35:07 +03:00
Xinchen Hui
6d83a8c2a7 Merge branch 'PHP-7.0' 2015-11-13 14:00:16 +08:00
Xinchen Hui
310fc87c2d SKIP on slow debug version PHP 2015-11-13 14:00:01 +08:00
Dmitry Stogov
998204ef2d Separate common part of compile_file() and compile_string() into zend_compile() 2015-11-12 16:59:44 +03:00
Anatol Belski
fd598ed2c2 Merge branch 'PHP-7.0'
* PHP-7.0:
  fixed typo
2015-11-12 13:38:43 +01:00
Anatol Belski
cc10da474d fixed typo 2015-11-12 13:37:45 +01:00
Anatol Belski
9b0775dfbd Merge branch 'PHP-7.0'
* PHP-7.0:
  add test for bug #70898
2015-11-12 09:47:43 +01:00
Anatol Belski
9c4fd36783 add test for bug #70898 2015-11-12 09:28:10 +01:00
Xinchen Hui
aaa4d38a7c Merge branch 'PHP-7.0' 2015-11-12 14:51:39 +08:00
Xinchen Hui
c2de445f79 Also protects this one 2015-11-12 14:51:19 +08:00
Xinchen Hui
f07c869593 Merge branch 'PHP-7.0'
Conflicts:
	NEWS
2015-11-12 14:39:20 +08:00
Xinchen Hui
53c03115cf Re-fixed #70895 2015-11-12 14:35:34 +08:00
Xinchen Hui
2bed2152e6 Revert "Fixed bug Bug #70895 null ptr deref and segfault"
This reverts commit 8eef11d317.
2015-11-12 14:34:00 +08:00
Xinchen Hui
c245fd7d91 Revert "refix bug #70895"
This reverts commit 93240102e0.
2015-11-12 14:33:14 +08:00
Xinchen Hui
75f85288f4 Revert "Fixed bug #70898 (SIGBUS/GPF zend_mm_alloc_small (zend_alloc.c:1291))"
This reverts commit e4e54f33ce.
2015-11-12 14:32:35 +08:00
Xinchen Hui
1e06bf9c2c Merge branch 'PHP-7.0' 2015-11-12 14:19:11 +08:00
Xinchen Hui
e4e54f33ce Fixed bug #70898 (SIGBUS/GPF zend_mm_alloc_small (zend_alloc.c:1291))
Include tail \0
2015-11-12 14:18:02 +08:00
Anatol Belski
a4e16cd823 Merge branch 'PHP-7.0'
* PHP-7.0:
  update NEWS
  refix bug #70895
  Fixed bug Bug #70895 null ptr deref and segfault
2015-11-12 01:43:38 +01:00
Anatol Belski
93240102e0 refix bug #70895
move this code to where it belongs, no behavior change to actual
throwing function, thus retaining compat with old ZPP
2015-11-12 01:39:02 +01:00
Anatol Belski
8eef11d317 Fixed bug Bug #70895 null ptr deref and segfault 2015-11-12 00:52:36 +01:00
Anatol Belski
0b89c29288 Merge branch 'PHP-7.0'
* PHP-7.0:
  update NEWS, patch for #70249 pulled into RC7
  adjust test expectation
  fix test filename and title
2015-11-11 12:21:51 +01:00
Anatol Belski
b89f451694 adjust test expectation 2015-11-11 09:47:29 +01:00
Anatol Belski
3cdc438e53 fix test filename and title 2015-11-11 09:47:24 +01:00
Dmitry Stogov
948b7f5421 Changed ZEND_FREE.op2.num and ZEND_FE_FREE.op2.num back to use live_range_offset (try_catch_offset does't work) 2015-11-11 11:12:44 +03:00
Xinchen Hui
cd6dda1679 Merge branch 'PHP-7.0' 2015-11-11 12:33:13 +08:00
Xinchen Hui
82f503f587 Re-Fixed bug #70249 (Segmentation fault while running PHPUnit tests on phpBB 3.2-dev)
Let's fixed this in the root instead
2015-11-11 12:32:46 +08:00
Dmitry Stogov
baf97b1fcc We don't nees zend_op_array->brk_cont_array at run-time anymore.
Move zend_op_array->brk_cont_array into CG(context).brk_cont_array.
Use more compact zend_op_array->live_range instead of zend_op_array->brk_cont_array.
Semantic is kept unchanged.
2015-11-10 21:48:03 +03:00
Dmitry Stogov
71092b7c2b Make FE_FETCH and following assignments to be a part of a loop. 2015-11-10 20:11:05 +03:00
Dmitry Stogov
86a96f2cf1 Changed meaning of "op2" for ZEND_FREE, ZEND_FE_FREE, ZEND_FAST_CALL, ZEND_FAST_RET.
Previously it was an instruction number.
Now it's an index in op_array->try_cacth_array[].
2015-11-10 19:13:54 +03:00
Xinchen Hui
2d750a7233 Merge branch 'PHP-7.0' 2015-11-10 16:01:14 +08:00
Xinchen Hui
4803914ae6 Unused var 2015-11-10 15:54:32 +08:00
Dmitry Stogov
6fe457f323 Merge branch 'PHP-7.0'
* PHP-7.0:
  Fixed incorrect order of free/finally on exception
2015-11-10 10:11:46 +03:00
Dmitry Stogov
d66d1b97aa Fixed incorrect order of free/finally on exception 2015-11-10 10:10:39 +03:00
Andrea Faulds
7bc6361294 Merge branch 'PHP-7.0' 2015-11-09 23:42:12 +00:00
Anatol Belski
795af791b0 Merge branch 'PHP-7.0' of git.php.net:php-src into PHP-7.0 2015-11-10 00:41:40 +01:00
Anatol Belski
ba91c1f51c Merge branch 'PHP-7.0'
* PHP-7.0:
  additional catch to bug #70863
2015-11-10 00:40:49 +01:00
Andrea Faulds
37b64de20f Merge branch 'use_ZEND_STRL_for_builtin_types' into PHP-7.0 2015-11-09 23:40:49 +00:00
Anatol Belski
a3f1154b3d additional catch to bug #70863 2015-11-10 00:38:11 +01:00
Anatol Belski
119b2fbfbe Merge branch 'PHP-7.0'
* PHP-7.0:
  add test for eb32da13
2015-11-09 22:49:52 +01:00
Anatol Belski
2e38918ba4 add test for eb32da13 2015-11-09 22:45:22 +01:00