Nikita Popov
2fddc4a7f1
Fixed bug #73900
2017-06-25 19:48:17 +02:00
Sammy Kaye Powers
478f119ab9
Update copyright headers to 2017
2017-01-04 11:14:55 -06:00
Dmitry Stogov
63ea4d194b
Fixed memory leak (Bob)
2016-11-22 11:22:10 +03:00
Dmitry Stogov
e7f4355d9b
Better fix for bug #72854 (avoid extra copy and creating reference to stack variable)
2016-09-29 10:56:01 +03:00
Xinchen Hui
c67fa3c91d
Fixed bug #72943 (assign_dim on string doesn't reset hval)
2016-08-26 18:30:08 +08:00
Xinchen Hui
0476bb1de5
Fixed bug #72911 (Memleak in zend_binary_assign_op_obj_helper)
2016-08-21 17:38:03 +08:00
Nikita Popov
e2230c17d3
Fix bug #72854
2016-08-16 21:05:30 +02:00
Andrea Faulds
5358c7cf5e
Replace dead branch with ZEND_ASSERT()
2016-08-08 20:56:11 +01:00
Nikita Popov
807e81937b
Fix bug #72767
...
The page size calculation did not account for the size of the
stack header (or rather it did account for it, but in the wrong
direction...)
2016-08-05 19:55:10 +02:00
Nikita Popov
82ce2a4e4d
Add missing call opcodes in cleanup_unfinished_calls()
...
Otherwise we may leak if an exception is thrown from them.
2016-07-14 18:37:28 +02:00
Bob Weinand
a287c3f776
Fix magic constants (__LINE__) with ?? for constant scalar exprs
...
Also fix general memory leak when root ast gets replaced in compile time evaluation
2016-04-21 02:45:09 +02:00
Márcio Almada
9f3eab44df
allow null coalescing (??) on constant expressions
2016-04-21 01:22:28 +02:00
Dmitry Stogov
f8506c062f
More effecient fix for bug #71756
2016-03-10 13:33:36 +03:00
Xinchen Hui
675c295722
Improve the codes (FETCH_DIM_R/IS is read context, we should not expose IS_REFERENCE)
2016-03-10 15:09:51 +08:00
Xinchen Hui
9833c76d3f
Bug #71756 (Call-by-reference widens scope to uninvolved functions when used in switch)
2016-03-10 14:58:10 +08:00
Dmitry Stogov
6039d2d914
Fixed bug #71474 (Crash because of VM stack corruption on Magento2).
2016-01-28 11:41:15 +03:00
Xinchen Hui
97a9470d97
bump year which is missed in rev 49493a2
2016-01-02 17:56:11 +08:00
Xinchen Hui
4c379392b2
Fixed bug #71067 (Local object in class method stays in memory for each call)
2015-12-09 21:07:59 +08:00
Xinchen Hui
4803914ae6
Unused var
2015-11-10 15:54:32 +08:00
Dmitry Stogov
d66d1b97aa
Fixed incorrect order of free/finally on exception
2015-11-10 10:10:39 +03:00
Xinchen Hui
a8ae88162f
Fixed bug #70689 (Exception handler does not work as expected)
2015-10-13 17:40:58 +08:00
Nikita Popov
cc3c425af8
Fix bug #70662
...
This replaces add_new with update for the RW case. This should not
be problematic for performance, as this branch throws a notice.
Alternatively add_new could also be replaced with add. I went with
update, because it makes $a[0] += 1 behavior the same as
$a[0] = $a[0] + 1.
2015-10-08 11:03:39 +02:00
Nikita Popov
8557e8323a
Remove checks for read_property retval being NULL
...
read_property uses &EG(uninitialized_zval) instead.
2015-10-01 16:33:30 +02:00
Dmitry Stogov
62c96059a2
Fixed memory leak.
2015-09-23 23:16:30 +03:00
Xinchen Hui
504cd492e1
Fixed bug #70548 (Redundant information printed in case of uncaught engine exception)
2015-09-23 13:04:33 +08:00
Bob Weinand
e878dff5d8
Revert accidentally committed closures.c and execute.c
2015-09-19 23:22:07 +02:00
Bob Weinand
08e253cdbc
Optimize zend_mm_small_size_to_bin()
...
It removes a cmov operation and has a much faster branch for small allocations (especially when handling strings) (<= 64 bytes)
2015-09-19 23:07:43 +02:00
Xinchen Hui
98bf9156d5
unused var
2015-09-09 15:11:42 +08:00
Dmitry Stogov
c7dffb5673
Don't inline "Undefined variable" warning reporting.
2015-09-09 03:18:52 +03:00
Dmitry Stogov
bfab74d574
Check EG(exception) only if it's really necessary
2015-09-08 17:20:52 +03:00
Dmitry Stogov
37f0c6b5cb
Add myself into list of authors of the most refactored files.
2015-08-31 11:38:16 +03:00
Xinchen Hui
55f88141c5
Re-Fixed bug #70321 (Magic getter breaks reference to array property)
2015-08-23 11:42:33 +08:00
Xinchen Hui
e26a04f9ec
Revert "Fixed bug #70321 (Magic getter breaks reference to array property)"
...
This reverts commit 66754585f8
.
2015-08-23 10:40:28 +08:00
Bob Weinand
66754585f8
Fixed bug #70321 (Magic getter breaks reference to array property)
...
Note that the UNEXPECTED(zv) was turned into EXPECTED(zv), as zv is mostly set in the context where it is used and usually anyway is checked first with OP*_TYPE == IS_VAR; or maybe just completely remove that (UN)EXPECTED at this place...
2015-08-22 23:54:59 +01:00
Dmitry Stogov
71af54e5f6
Mark error and exception functions as "cold" (Matt's idea)
2015-08-19 14:40:56 +03:00
Dmitry Stogov
9b1570a378
Removed deprecated comments and added expectations (overloaded properties and array elements are less frequently used than regular ones)
2015-08-19 12:21:14 +03:00
Xinchen Hui
3ea8c3cf1c
Fixed memleak in Zend/tests/bug39297
2015-08-18 21:46:02 +08:00
Xinchen Hui
8df3461086
Improved fix for bug #70262
2015-08-18 18:07:31 +08:00
Anatol Belski
1a2c5bc180
second part fixing vc14, type/specifier order also in definitions
2015-08-12 08:52:08 +02:00
Dmitry Stogov
a658465ef2
Export argument type checking functions
2015-08-11 19:11:21 +03:00
Dmitry Stogov
97f159d702
Support for XLC compiler
2015-08-10 19:12:11 +03:00
Xinchen Hui
aa546256e3
Fixed bug #70223 (Incrementing value returned by magic getter)
2015-08-10 17:12:45 +08:00
Dmitry Stogov
a16aa4c42c
Move most "finally" related code-generation from pass_two() to compiler.
2015-08-04 07:42:28 +03:00
Bob Weinand
9e246a73ef
Fixed bug #70182 (Segfault in ZEND_ASSIGN_OP handlers)
2015-08-02 19:08:39 +02:00
Xinchen Hui
0f1e87d9c1
Fixed bug #70124 (null ptr deref / seg fault in ZEND_HANDLE_EXCEPTION)
2015-07-24 15:49:36 +08:00
Xinchen Hui
7d07afd6c1
Fixed bug #70089 (segfault at ZEND_FETCH_DIM_W_SPEC_VAR_CONST_HANDLER ())
2015-07-17 15:55:34 +08:00
Bob Weinand
0af0733352
Fixed bug #70083 (Use after free with assign by ref on overloaded objects)
2015-07-15 22:36:42 +02:00
Xinchen Hui
f930d6ea0e
Fixed Bug #69996 (Changing the property of a cloned object affects the original)
2015-07-10 16:33:13 +08:00
Dmitry Stogov
549e8c4959
Squashed commit of the following:
...
commit 03cf871f1576f08b2348c141b209894a7bf17a86
Author: Dmitry Stogov <dmitry@zend.com>
Date: Fri Jul 10 02:45:31 2015 +0300
Revert "Fixed bug #62210 (Exceptions can leak temporary variables. As a part of the fix serious refactoring was done. op_array->brk_cont_array was removed, and replaced with more general and speed efficient op_array->T_liveliness. ZEND_GOTO opcode is always replaced by ZEND_JMP at compile time). (Bob, Dmitry, Laruence)"
This reverts commit 5ee8413259
.
commit 285a68227ce3d380e821a24fa389aa5239bd3fe1
Author: Dmitry Stogov <dmitry@zend.com>
Date: Fri Jul 10 02:45:26 2015 +0300
Revert "Tuned off dubugging of live ranges"
This reverts commit 404dc93d35
.
commit 93d9d11157301ee2ec99afb6f5744b126d17f637
Author: Dmitry Stogov <dmitry@zend.com>
Date: Fri Jul 10 02:45:17 2015 +0300
Revert "Remove loop_var_stack"
This reverts commit b3a4c05071
.
commit ede68ebbc284aec79e3f719f2c8dbf9da6907752
Author: Dmitry Stogov <dmitry@zend.com>
Date: Fri Jul 10 02:45:12 2015 +0300
Revert "ZEND_SEPARATE reuses temporaries"
This reverts commit 1852f538b9
.
commit 96d8995dc1f517fb01b481736273767509f76c47
Author: Dmitry Stogov <dmitry@zend.com>
Date: Fri Jul 10 02:45:10 2015 +0300
Revert "Add assertion in liveliness computation"
This reverts commit ed14019e8c
.
commit 0649d7bfef152e6cc8e67b922534e9946c634d9c
Author: Dmitry Stogov <dmitry@zend.com>
Date: Fri Jul 10 02:45:07 2015 +0300
Revert "Fixed invalid live-range detection"
This reverts commit 54f367ee2a
.
commit dfe8f3851f6b04595eb089323e3492115a59363e
Author: Dmitry Stogov <dmitry@zend.com>
Date: Fri Jul 10 02:45:04 2015 +0300
Revert "Add test guaranteeing that loop vars are only freed after potential return type exceptions"
This reverts commit f5db5a558d
.
commit 52a94aad6f48a199358cc07f7e4f56bb73050504
Author: Dmitry Stogov <dmitry@zend.com>
Date: Fri Jul 10 02:45:01 2015 +0300
Revert "Fixed exception habdling on "return" statement."
This reverts commit 17c5315bdf
.
commit 6e90ad7331901711e89c2ceb2bcab5023e5cee60
Author: Dmitry Stogov <dmitry@zend.com>
Date: Fri Jul 10 02:44:58 2015 +0300
Revert "Fix too early terminated temporary range with break/cont/goto"
This reverts commit cc876c04b4
.
commit 7b766e44b1970e4031f75109c302c07ead2c05cb
Author: Dmitry Stogov <dmitry@zend.com>
Date: Fri Jul 10 02:44:55 2015 +0300
Revert "Fixed exception catching on break/continue"
This reverts commit 8c3f701eeb
.
2015-07-10 03:31:52 +03:00
Dmitry Stogov
301ee26568
Fixed situation, when CHECH_EXCEPTION() might change value of "opline" variable and the following "opline" useages would access elements of different opcode. That might lead to unpredictable behavior. (Only PHP-7 with GCC global register variables was affected).
...
CHECK_EXCEPTION() macro is removed. ZEND_VM_NEXT_OPCODE_CHECK_EXCEPTIO() should be used instead. It's equivalent to old CHECK_EXCEPTION() + ZEND_VM_NEXT_OPCODE().
As a side effect, this also slightly improved performnce of builds with GCC >= 4.8.
2015-07-08 18:33:58 +03:00