summaryrefslogtreecommitdiff
path: root/Zend/zend_API.h
Commit message (Collapse)AuthorAgeFilesLines
* bump year which is missed in rev 49493a2Xinchen Hui2016-01-021-1/+1
|
* bump yearXinchen Hui2015-01-151-1/+1
|
* DLL export several APIs needed for phpdbgAnatol Belski2014-10-121-1/+1
|
* Add __debugInfo() magic methodSara Golemon2014-02-171-0/+1
| | | | | | | | | | | | | | | class Foo { private $val = 'Random, meaningless data'; public function count() { return 42; } public function __debugInfo() { return ['count' => $this->count()]; } } $f = new Foo; var_dump($f);
* Bump yearXinchen Hui2014-01-031-1/+1
|
* Implement variadic function syntaxNikita Popov2013-09-261-9/+11
| | | | As per RFC: https://wiki.php.net/rfc/variadics
* Always pass return_value_ptr to internal functionsNikita Popov2013-08-311-0/+12
| | | | | | | | | | | | | | | | | Previous some places passed return_value_ptr only if the function returned by reference. Now return_value_ptr is always set, even for functions returning by-value. This allows you to return zvals without copying their contents. For this purpose two new macros RETVAL_ZVAL_FAST and RETURN_ZVAL_FAST are added: RETVAL_ZVAL_FAST(zv); /* Analog to RETVAL_ZVAL(zv, 1, 0) */ RETURN_ZVAL_FAST(zv); /* Analog to RETURN_ZVAL(zv, 1, 0) */ These macros behave similarly to the non-FAST versions with copy=1 and dtor=0, with the difference that the FAST versions will try return the zval without copying by utilizing return_value_ptr.
* Evaluate ZVAL_ZVAL arguments only onceNikita Popov2013-08-261-10/+8
| | | | | Also remove some isref/refcount assignments, which are no longer necessary (as ZVAL_COPY_VALUE is used now).
* Merge branch 'PHP-5.4' into PHP-5.5Stanislav Malyshev2013-06-101-2/+2
|\ | | | | | | | | | | * PHP-5.4: typo fixes (argument) typo fixes (accommodate, parameter)
| * typo fixes (argument)Veres Lajos2013-06-101-2/+2
| |
* | Merge branch 'PHP-5.4' into PHP-5.5Sara Golemon2013-05-191-1/+1
|\ \ | |/ | | | | | | * PHP-5.4: Don't double-quote name of namespaced function.
| * Merge branch 'PHP-5.3' into PHP-5.4Sara Golemon2013-05-191-1/+1
| |\ | | | | | | | | | | | | * PHP-5.3: Don't double-quote name of namespaced function.
| | * Don't double-quote name of namespaced function.Sara Golemon2013-05-191-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ZEND_NS_NAMED_FE(ns, zend_name, name, arg_info) was resulting in a function declaration of: ns\"zend_name"() including the errant quotes. This diff corrects that. There are currently no uses of ZEND_NS_NAMED_FE in core and reason to believe that there are no uses in the wild either.
* | | Merge branch 'PHP-5.4' into PHP-5.5Xinchen Hui2013-03-211-0/+3
|\ \ \ | |/ /
| * | Fixed bug #64239 (Debug backtrace changed behavior since 5.4.10 or 5.4.11)Xinchen Hui2013-03-211-0/+3
| | |
| * | Fix build problem in C++11Jelle Zijlstra2013-01-301-1/+1
| | |
* | | Add support for non-scalar Iterator keys in foreachNikita Popov2013-03-121-0/+2
| | | | | | | | | | | | RFC: https://wiki.php.net/rfc/foreach-non-scalar-keys
* | | Fix build problem in C++11Jelle Zijlstra2013-01-301-1/+1
| | |
* | | Merge branch 'PHP-5.4' into PHP-5.5Johannes Schlüter2013-01-291-2/+2
|\ \ \ | |/ /
| * | Merge branch 'PHP-5.3' into PHP-5.4Johannes Schlüter2013-01-291-2/+2
| |\ \ | | |/
| | * Fix bug #64099 (Wrong TSRM usage in zend_register_class_alias)Johannes Schlüter2013-01-291-2/+2
| | |
| | * Happy New YearXinchen Hui2013-01-011-1/+1
| | |
| * | Happy New YearXinchen Hui2013-01-011-1/+1
| | |
* | | Merge remote-tracking branch 'cataphract/zpp_improv' into PHP-5.5Gustavo Lopes2013-01-161-0/+2
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | See https://wiki.php.net/rfc/zpp_improv * cataphract/zpp_improv: Update README.PARAMETER_PARSING_API Export zend_parse_parameter() Expose zend_parse_arg() as zend_parse_parameter() zend_parse_parameters: allow ! for non pointers
| * | | Export zend_parse_parameter()Gustavo Lopes2013-01-091-1/+1
| | | |
| * | | Expose zend_parse_arg() as zend_parse_parameter()Gustavo André dos Santos Lopes2012-07-181-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Sometimes, one wants to accept several types for a given parameter. zpp has special functionality for detecting the NULL type, since the NULL type is frequently used to skip parameters. However, supporting several types is otherwise very tedious. There are many cases where this situation arises -- for instance one may want to accept an arbitrary number of integer and expect them in an array, but allow a bare integer too; one may want to accept something that will be used as an array key (which can be either and int or a string); one may want to accept integer and double numbers. A search for IS_LONG reveals many situations where this need arises. The usual solution is to fetch the argument with 'z'/'Z', check its type, and then convert the argument, e.g. with convert_to_long_ex(). As explain in the last commit, this has different behavior and generates inconsistency. Another -- even more flawed strategy --, is to try zpp with a specific format, forcing it quiet, and if it fails retrying with another form. But because zpp changes the arguments directly in the stack (for instance, using "l" converts the zval in the stack to IS_LONG), the arguments may look different after the first zpp, leaving subtle bugs. This commit also allows more complex scenarios, for instance where the expected type of one parameter depends on other parameters.
| * | | - Year++Felipe Pena2012-01-011-1/+1
| | | |
| * | | Fixed ZE specific compile warnings (Bug #55629)Dmitry Stogov2011-09-131-30/+30
| | | |
| * | | - Added new macro to be used in the end of zend_function_entry declaration ↵Felipe Pena2011-07-251-0/+2
| | | | | | | | | | | | | | | | (Gwynne)
| * | | - Added new parameter parsing option (p - for valid path (string without ↵Felipe Pena2011-06-061-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | null byte in the middle)) # The tests will be fixed in the next commits
| * | | scalar types cleanupStanislav Malyshev2011-06-031-1/+1
| | | |
* | | | Happy New YearXinchen Hui2013-01-011-1/+1
| |/ / |/| |
* | | Merge branch 'PHP-5.3' into PHP-5.4Xinchen Hui2012-08-041-0/+5
|\ \ \ | | |/ | |/| | | | | | | Conflicts: Zend/zend_API.h
| * | Fixed bug #62744 (dangling pointers made by zend_disable_class)Xinchen Hui2012-08-041-0/+5
| | | | | | | | | | | | the test will be added while commit the fix for #62737
| * | - Year++Felipe Pena2012-01-011-1/+1
| | |
| * | - Added new macro to be used in the end of zend_function_entry declaration ↵Felipe Pena2011-07-251-0/+2
| | | | | | | | | | | | (Gwynne)
| * | - Year++Felipe Pena2011-01-011-1/+1
| | |
* | | - Year++Felipe Pena2012-01-011-1/+1
| | |
* | | Fixed ZE specific compile warnings (Bug #55629)Dmitry Stogov2011-09-131-30/+30
| | |
* | | - Added new macro to be used in the end of zend_function_entry declaration ↵Felipe Pena2011-07-251-0/+2
| | | | | | | | | | | | (Gwynne)
* | | - Added new parameter parsing option (p - for valid path (string without ↵Felipe Pena2011-06-061-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | null byte in the middle)) # The tests will be fixed in the next commits
* | | scalar types cleanupStanislav Malyshev2011-06-031-1/+1
| |/ |/|
* | - Year++Felipe Pena2011-01-011-1/+1
| |
* | zend_collect_module_handlers() has to be called after zend_extensions ↵Dmitry Stogov2010-10-151-0/+1
| | | | | | | | startup, because they can register additional 'hidden' extensions
* | marked char pointer arguments as const in lots ofHartmut Holzgraefe2010-10-141-6/+6
| | | | | | | | | | | | places where strings pointed to are not modified to prevent compiler warnings about discarded qualifiers ...
* | - Improved memory usageDmitry Stogov2010-09-151-8/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | . zend_function.pass_rest_by_reference is replaced by ZEND_ACC_PASS_REST_BY_REFERENCE in zend_function.fn_flags . zend_function.return_reference is replaced by ZEND_ACC_RETURN_REFERENCE in zend_function.fn_flags . zend_arg_info.required_num_args removed. it was needed only for internal functions. Now the first arg_info for internal function (which has special meaning) is represented by zend_internal_function_info structure. . zend_op_array.size, size_var, size_literal, current_brk_cont, backpatch_count moved into CG(context), because they are used only during compilation. . zend_op_array.start_op is moved into EG(start_op), because it's used only for 'interactive' execution of single top-level op-array. . zend_op_array.done_pass_two is replaced by ZEND_ACC_DONE_PASS_TWO in zend_op_array.fn_flags. . op_array.vars array is trimmed (reallocated) during pass_two. . zend_class_entry.constants_updated is replaced by ZEND_ACC_CONSTANTS_UPDATED in zend_class_entry.ce_flags . the size of zend_class_entry is reduced by sharing the same memory space by different information for internal and user classes. See zend_class_inttry.info union.
* | - Missing traits data initialization for internal classes (causing ↵Felipe Pena2010-08-141-0/+4
| | | | | | | | Reflection to crash)
* | - Fix warning because the comparsion with literal (e.g. ↵Felipe Pena2010-08-081-3/+4
| | | | | | | | INIT_CLASS_ENTRY(..., "Foo", ...))
* | - Fixed ZTS build (Kalle)Felipe Pena2010-08-051-1/+1
| |
* | Use interned strings for class namesDmitry Stogov2010-08-051-1/+4
| |