Dmitry Stogov
7abfaac901
Merge zend_execute_data->called_scope into zend_execute_data->This.
...
"called_scope" made sense only for static method calls, for dynamic calls it was always equal to the class of $this.
Now EG(This) may store IS_OBJECT + $this or IS_UNUSED + "called_scope" (of course, "called_scope" may be NULL).
Some code might need to be adopted to support this change.
Checks (Z_OBJ(EX(This))) might need to be converted into (Z_TYPE(EX(This)) == IS_OBJECT).
2016-04-01 16:17:49 +03:00
Xinchen Hui
1e5ac8940a
Merge branch 'PHP-7.0'
...
* PHP-7.0:
Fix bug #71835 (json_encode sometimes incorrectly detects recursion with JsonSerializable)
2016-03-21 16:22:02 +08:00
Jakub Zelenka
7e069daa89
Fix bug #71835 (json_encode sometimes incorrectly detects recursion with JsonSerializable)
2016-03-20 15:56:27 +00:00
Xinchen Hui
0df9b51479
Return meaningful value
2016-01-22 15:34:56 +08:00
Xinchen Hui
b27e10284a
Empty line
2016-01-21 14:37:54 +08:00
Xinchen Hui
145555f81c
Cover overloaded functions
2016-01-21 14:31:03 +08:00
Xinchen Hui
2ee73ee094
Let's add a class entry for testing
2016-01-21 13:53:29 +08:00
Xinchen Hui
86883b793b
Merge branch 'PHP-7.0'
...
* PHP-7.0:
Fixed bug #71336 (Wrong is_ref on properties as exposed via get_object_vars())
2016-01-13 17:38:36 +08:00
Xinchen Hui
39f0950746
Fixed bug #71336 (Wrong is_ref on properties as exposed via get_object_vars())
2016-01-13 17:38:18 +08:00
Xinchen Hui
563659822d
Merge branch 'PHP-7.0'
2016-01-02 17:56:54 +08:00
Xinchen Hui
97a9470d97
bump year which is missed in rev 49493a2
2016-01-02 17:56:11 +08:00
Xinchen Hui
7a5c663ec6
Merge branch 'PHP-7.0'
2015-12-25 20:32:46 -08:00
Xinchen Hui
6700be67f5
Fixed bug #71221 (Null pointer deref (segfault) in get_defined_vars via ob_start)
2015-12-25 20:32:26 -08:00
Dmitry Stogov
ef6514d652
Don't use deprecated API
2015-12-16 16:01:09 +03:00
Xinchen Hui
d70aa14f2c
Fixed bug #70323 (Regression in zend_fetch_debug_backtrace() can cause segfaults)
2015-11-09 17:14:15 +08:00
Xinchen Hui
a9636ff5a2
Fixed bug #70555 (fun_get_arg() on unsetted vars return UNKNOW)
...
and also keep the indices of func_get_args(). since they are similar
issue of #70574 , thus reuse its test script.
2015-09-23 10:00:20 +08:00
Xinchen Hui
0f3ab1c2d0
Fixed #70547 similar bug in func_get_args
2015-09-22 13:58:42 +08:00
Xinchen Hui
e1dcfd2cf9
Fixed bug #70547 (unsetting function variables corrupts backtrace)
2015-09-22 11:59:35 +08:00
Xinchen Hui
d5b78cec64
We should keep one refcount to resource
2015-09-02 22:14:48 -07:00
Xinchen Hui
6815c08e29
Fixed bug #70398 (SIGSEGV, Segmentation fault zend_ast_destroy_ex)
2015-09-02 22:07:29 -07:00
Nikita Popov
13567d5dee
Don't copy zend_strings during exception creation
...
Minor optimization...
2015-08-14 16:16:27 +02:00
Xinchen Hui
a094f4faed
Remove useless insert
2015-08-14 17:09:27 +08:00
Dmitry Stogov
668ecaa606
Fixed bug #70098 (Real memory usage doesn't decrease)
2015-08-04 18:21:05 +03:00
Xinchen Hui
3422fb57c8
Use hash_str directly
2015-07-02 12:31:26 +08:00
Rasmus Lerdorf
324d5ecb7e
debug_print_backtrace has a 2nd optional arg
2015-06-30 09:57:49 -07:00
Dmitry Stogov
7aa7627172
Use ZSTR_ API to access zend_string elements (this is just renaming without semantick changes).
2015-06-30 13:59:27 +03:00
Rasmus Lerdorf
1201be392f
3rd arg to define() is optional
2015-06-23 23:53:23 -04:00
Rasmus Lerdorf
41774bceff
Fix more minor mistakes in the proto comments
2015-06-23 15:47:33 -04:00
Rasmus Lerdorf
f4d08d8e5c
Fix incorrect protos
2015-06-23 14:15:24 -04:00
Dmitry Stogov
ed418312a5
Revert "Fix arginfo for built-in engine functions"
...
This reverts commit d2356541d0
.
2015-06-22 11:44:57 +03:00
Dmitry Stogov
3db071dba2
Revert "Fix set_error_handler() arginfo"
...
This reverts commit b5240280b0
.
2015-06-22 11:44:49 +03:00
Dmitry Stogov
82b92cfa2e
Revert "And actually use this new arginfo data"
...
This reverts commit 932c95fb31
.
2015-06-22 11:44:39 +03:00
Dmitry Stogov
539593ce15
Revert "Fix each() arginfo"
...
This reverts commit 19fd124bcf
.
2015-06-22 11:44:29 +03:00
Dmitry Stogov
9a68fe51d7
Revert "Fix genarginfo to respect by-ref passing"
...
This reverts commit db6990a91b
.
2015-06-22 11:44:13 +03:00
Dmitry Stogov
13d5893c2a
Revert "Several return type fixes, still not completed... Incomplete prototypes :-/"
...
This reverts commit 851b95fc49
.
2015-06-22 11:44:01 +03:00
Bob Weinand
851b95fc49
Several return type fixes, still not completed... Incomplete prototypes :-/
2015-06-22 10:36:42 +02:00
Bob Weinand
db6990a91b
Fix genarginfo to respect by-ref passing
2015-06-22 10:17:35 +02:00
Bob Weinand
19fd124bcf
Fix each() arginfo
2015-06-22 10:03:14 +02:00
Rasmus Lerdorf
932c95fb31
And actually use this new arginfo data
2015-06-22 00:12:48 -04:00
Rasmus Lerdorf
b5240280b0
Fix set_error_handler() arginfo
2015-06-21 23:48:00 -04:00
Rasmus Lerdorf
d2356541d0
Fix arginfo for built-in engine functions
2015-06-21 21:50:09 -04:00
Dmitry Stogov
4a6e1345e2
Use COW to prevent unnecessary duplication of dynamic propertyes of stdClass (and other classes without predefined properties).
2015-06-17 12:50:16 +03:00
Dmitry Stogov
1c754f0b71
Get rid of more ZVAL_ZVAL() macros
2015-06-12 13:33:14 +03:00
Dmitry Stogov
8e10e8f921
Avoid zval duplication in ZVAL_ZVAL() macro (it was necessary only in few places).
...
Switch from ZVAL_ZVAL() to simpler macros where possible (it makes sense to review remaining places)
2015-06-12 12:33:23 +03:00
Willian Gustavo Veiga
33721742a5
Added "exclude_disabled" argument to "get_defined_functions".
2015-06-02 21:42:18 -03:00
Willian Gustavo Veiga
978832331a
Fix bug #31875 - get_defined_functions() should not list disabled functions.
2015-05-30 12:29:27 -03:00
Dmitry Stogov
ca64b41b99
Fixed zend_update_class_constants() to always resolve all constants.
...
Call zend_update_class_constants() only when necessary.
2015-05-21 04:13:10 +03:00
Dmitry Stogov
49cf7c5d12
Don't propogate "fake" EX(called_scope) and EX(This) into each internal function.
...
They need quite seldom and it's cheaper to get them from corresponfing upper stack frame.
2015-04-23 12:16:37 +03:00
Bob Weinand
f3e124d58d
Merge branch 'coroutineDelegation' of https://github.com/bwoebi/php-src
2015-04-14 17:58:58 +02:00
Dmitry Stogov
5e8133f453
Squashed commit of the following:
...
commit 2399fc84c5
Author: Dmitry Stogov <dmitry@zend.com>
Date: Fri Apr 10 12:38:08 2015 +0300
Removed useless assignment
commit 796b633817
Author: Dmitry Stogov <dmitry@zend.com>
Date: Fri Apr 10 12:35:31 2015 +0300
Fixed execution with overriden zend_execute_ex()
commit 4a9fb125aa
Author: Dmitry Stogov <dmitry@zend.com>
Date: Fri Apr 10 02:02:58 2015 +0300
Fixed executor without global registers
commit d456c30e00
Author: Dmitry Stogov <dmitry@zend.com>
Date: Fri Apr 10 01:30:35 2015 +0300
Restored original behavior for tests/classes/__call_004.phpt
commit 479646d37f
Author: Dmitry Stogov <dmitry@zend.com>
Date: Fri Apr 10 00:32:17 2015 +0300
Fixed test. We don't keep stack frame for fake function anymore.
commit 9ae61e33e2
Author: Dmitry Stogov <dmitry@zend.com>
Date: Fri Apr 10 00:30:09 2015 +0300
Use ZEND_ACC_CALL_VIA_TRAMPOLINE instead of ZEND_ACC_CALL_VIA_HANDLER. Keep ZEND_ACC_CALL_VIA_HANDLER for compatibility.
commit 0a8403a2a0
Author: Dmitry Stogov <dmitry@zend.com>
Date: Fri Apr 10 00:05:43 2015 +0300
Rename PROXY_CALL into CALL_TRAMPLINE.
Generalize API to allow reuse EG(trampline) for other purposes.
commit 4ea0525c10
Author: Dmitry Stogov <dmitry@zend.com>
Date: Thu Apr 9 23:22:25 2015 +0300
Reuse EG(proxy_call_op) for all proxy. Move proxy related functions from zend_objects_API to zend_object_handlers.
commit 529bf737ca
Author: Dmitry Stogov <dmitry@zend.com>
Date: Thu Apr 9 21:42:23 2015 +0300
Accurate use of proxy_call
commit 5d62837d5b
Merge: 83e749f
690843f
Author: Dmitry Stogov <dmitry@zend.com>
Date: Thu Apr 9 19:40:00 2015 +0300
Merge branch 'master' into opcodefy-call
* master:
Fixed GOTO executor
Fixed typo
Changed ArrayIterator implementation using zend_hash_iterator_... API. Allowed modification of itterated ArrayObject using the same behavior as proposed in `Fix "foreach" behavior`. Removed "Array was modified outside object and internal position is no longer valid" hack.
commit 83e749ff3b
Author: Dmitry Stogov <dmitry@zend.com>
Date: Thu Apr 9 19:39:10 2015 +0300
Improved ZEND_PROXY_CALL
commit 0c829afc53
Author: Dmitry Stogov <dmitry@zend.com>
Date: Thu Apr 9 15:14:49 2015 +0300
Reverted white-space changes
commit df65144488
Merge: 5fd2f97
97756d9
Author: Dmitry Stogov <dmitry@zend.com>
Date: Thu Apr 9 14:37:07 2015 +0300
Merge branch 'opcodefy-call' of github.com:laruence/php-src into opcodefy-call
* 'opcodefy-call' of github.com:laruence/php-src:
Ready for PR
Fixed static call
Improve performance by using prealloated op_arrray
Respect called_scope
Support internal magical __call/__callStatic
opcode-fy magical __callStatic
Opcode-fy magical __call
commit 97756d9190
Author: Xinchen Hui <laruence@gmail.com>
Date: Thu Apr 9 19:07:59 2015 +0800
Ready for PR
commit 74f9930846
Author: Xinchen Hui <laruence@gmail.com>
Date: Thu Apr 9 19:03:00 2015 +0800
Fixed static call
commit ec1d9eb592
Author: Xinchen Hui <laruence@gmail.com>
Date: Thu Apr 9 18:23:17 2015 +0800
Improve performance by using prealloated op_arrray
commit df7fbbf949
Author: Xinchen Hui <laruence@gmail.com>
Date: Thu Apr 9 15:10:02 2015 +0800
Respect called_scope
commit 769d1d59fb
Author: Xinchen Hui <laruence@gmail.com>
Date: Thu Apr 9 12:19:23 2015 +0800
Support internal magical __call/__callStatic
commit a980fedd5b
Author: Xinchen Hui <laruence@gmail.com>
Date: Wed Apr 8 18:35:41 2015 +0800
opcode-fy magical __callStatic
commit 73855f7d53
Author: Xinchen Hui <laruence@gmail.com>
Date: Wed Apr 8 14:21:55 2015 +0800
Opcode-fy magical __call
2015-04-10 23:01:00 +03:00