summaryrefslogtreecommitdiff
path: root/Zend/zend_compile.c
Commit message (Collapse)AuthorAgeFilesLines
* fix C89 compatAnatol Belski2015-07-071-1/+3
|
* Fixed double ZEND_TICKS opcode generation for declare()Julien Pauli2015-07-071-0/+5
|
* Fix uninitialized value with extension traitsJohn Boehr2015-05-041-1/+1
|
* Merge branch 'PHP-5.5' into PHP-5.6Xinchen Hui2015-04-211-1/+1
|\
| * Remove tail blank which is committed by accidentXinchen Hui2015-04-211-1/+1
| |
* | Merge branch 'PHP-5.5' into PHP-5.6Xinchen Hui2015-04-211-2/+3
|\ \ | |/
| * Fixed Bug #69467 (Wrong checked for the interface by using Trait)Xinchen Hui2015-04-211-2/+3
| |
* | Merge branch 'PHP-5.5' into PHP-5.6Xinchen Hui2015-04-101-0/+1
|\ \ | |/
| * Fixed bug #69420 (Invalid read in zend_std_get_method)Xinchen Hui2015-04-101-0/+1
| |
* | Merge branch 'PHP-5.5' into PHP-5.6Nikita Popov2015-04-061-8/+8
|\ \ | |/ | | | | | | | | Conflicts: Zend/zend_compile.c Zend/zend_compile.h
| * Fix bug #60022Nikita Popov2015-04-061-2/+2
| |
* | Merge branch 'PHP-5.5' into PHP-5.6Xinchen Hui2015-03-051-1/+5
|\ \ | |/
| * Error also maybe happened hereXinchen Hui2015-03-051-1/+5
| |
* | Merge branch 'PHP-5.5' into PHP-5.6Xinchen Hui2015-03-051-1/+16
|\ \ | |/
| * Fixed bug #69174 (leaks when unused inner class use traits precedence)Xinchen Hui2015-03-051-1/+16
| |
| * Bump yearXinchen Hui2015-01-151-1/+1
| |
* | bump yearXinchen Hui2015-01-151-1/+1
| |
* | Merge branch 'PHP-5.5' into PHP-5.6Julien Pauli2014-12-121-2/+2
|\ \ | |/ | | | | | | | | | | | | | | * PHP-5.5: Updated NEWS Fixed Bug #65576 (Constructor from trait conflicts with inherited constructor) Conflicts: Zend/zend_compile.c
| * Fixed Bug #65576 (Constructor from trait conflicts with inherited constructor)Kévin Dunglas2014-12-121-2/+2
| |
* | Merge branch 'PHP-5.5' into PHP-5.6Julien Pauli2014-11-281-0/+6
|\ \ | |/ | | | | | | | | * PHP-5.5: updated NEWS Fix #65419 - Inside trait, self::class != __CLASS__
| * Fix #65419 - Inside trait, self::class != __CLASS__Julien Pauli2014-11-281-0/+6
| |
* | Better fix for bug #68446Dmitry Stogov2014-11-251-3/+12
| |
* | Revert "Fix bug #68446 (bug with constant defaults and type hints)"Bob Weinand2014-11-251-4/+4
| | | | | | | | This reverts commit 5ef138b0c7c4e9532e205f45c18a72aa1d279c24.
* | Fix bug #68446 (bug with constant defaults and type hints)Bob Weinand2014-11-231-4/+4
| |
* | Merge branch 'PHP-5.5' into PHP-5.6Julien Pauli2014-11-211-2/+2
|\ \ | |/ | | | | | | | | | | | | * PHP-5.5: Fix #68185 - Inconsistent insteadof definition Conflicts: Zend/zend_compile.c
| * Fix #68185 - Inconsistent insteadof definitionJulien Pauli2014-11-211-1/+1
| |
* | Merge branch 'PHP-5.5' into PHP-5.6Nikita Popov2014-09-201-0/+9
|\ \ | |/
| * Fixed bug #67633Nikita Popov2014-09-201-0/+9
| |
* | Fix bug #67938: Segfault when extending interface method with variadicNikita Popov2014-08-301-1/+1
| | | | | | | | | | We only want to check extra optional args if the proto function is variadic, not when we're adding extra variadic args.
* | Merge branch 'PHP-5.5' into PHP-5.6Bob Weinand2014-06-161-2/+2
|\ \ | |/ | | | | | | Conflicts: Zend/zend_compile.c
| * Merge branch 'PHP-5.4' into PHP-5.5Bob Weinand2014-06-161-2/+2
| |\
| | * Fix patch for bug #67436Bob Weinand2014-06-161-2/+2
| | |
* | | Merge branch 'PHP-5.5' into PHP-5.6Bob Weinand2014-06-151-2/+8
|\ \ \ | |/ / | | | | | | | | | | | | Conflicts: NEWS Zend/zend_compile.c
| * | Merge branch 'PHP-5.4' into PHP-5.5Bob Weinand2014-06-151-3/+6
| |\ \ | | |/
| | * Fix bug #67436Bob Weinand2014-06-151-3/+6
| | |
| | * Bump yearXinchen Hui2014-01-031-1/+1
| | |
| * | Bump yearXinchen Hui2014-01-031-1/+1
| | |
* | | Removed useless void* parameter and replaced with zend_bool on ↵Bob Weinand2014-04-111-1/+1
| | | | | | | | | | | | zval_update_constant* functions
* | | Fix bug #66015 by reverting "Removed operations on constant arrays."Bob Weinand2014-04-111-45/+10
| | |
* | | Disallow use of positional args after unpackingNikita Popov2014-02-261-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit disallows the use of trailing positional arguments after argument unpacking was used. The following calls are no longer valid: fn(...$array, $var); fn(...$array1, $var, ...$array2); However, all of the following continue to be valid: fn($var, ...$array); fn(...$array1, ...$array2); fn($var, ...$array1, ...$array2); The reason behind this change is a stack allocation issue pointed out by Dmitry: As of PHP 5.5 the stack necessary for pushing arguments is precomputed and preallocated, as such the individual SEND opcodes no longer verify that there is enough stack space. The unpacked arguments will occupy some of that preallocated space and as such following positional arguments could write past a stack page boundary. An alternative resolution for this issue is to ensure that there is enough space for the remaining arguments in the UNPACK opcode. However making this allocation precise (rather than using a conversative over-estimate) would require some effort. Given that this particular aspect of the feature wasn't very popular in the first place, it doesn't seem worth the effort.
* | | Store arg_num in fcall entryNikita Popov2014-02-261-19/+19
| | | | | | | | | | | | | | | | | | | | | | | | Instead of storing the argument number in the znode of the parameter list, store it in fcall->arg_num. This mainly cleans up the parameter parsing code, which previously had to duplicate all rules (this becomes more excessive as more features are added, e.g. named params would already require a minimum of 14 rules...)
* | | Introduce zend_function_call_entry structureNikita Popov2014-02-261-20/+24
| | | | | | | | | | | | | | | | | | Instead of directly pushing the zend_function* onto the function_call_stack, push this structure. This allows us to store additional data on this stack.
* | | some missing pieces for __debugInfoAnatol Belski2014-02-201-0/+4
| | |
* | | Add __debugInfo() magic methodSara Golemon2014-02-171-0/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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);
* | | Implement argument unpackingNikita Popov2014-01-111-1/+44
| | | | | | | | | | | | RFC: https://wiki.php.net/rfc/argument_unpacking
* | | Minor cleanup in zend_do_pass_param()Nikita Popov2014-01-111-10/+7
| | |
* | | Bump yearXinchen Hui2014-01-031-1/+1
| | |
* | | Improved empty string handling. Now ZE uses an interned string instead of ↵Dmitry Stogov2013-12-261-2/+2
| | | | | | | | | | | | allocation new empty string each time. (Some extensions might need to be fixed using str_efree() instead of efree() to support interned strings).
* | | Save one char compareXinchen Hui2013-12-171-2/+2
| | |
* | | Fixed memory leaks introdused by:Dmitry Stogov2013-12-101-2/+2
| | | | | | | | | | | | | | | | | | commit 611da37617749c81ab22b1e44a0cc1f294cc493a Author: Igor Wiedler <igor@wiedler.ch> Date: Sat Nov 9 13:48:23 2013 -0500