summaryrefslogtreecommitdiff
path: root/Zend/zend_inheritance.c
Commit message (Collapse)AuthorAgeFilesLines
...
* | Merge branch 'PHP-7.0'Julien Pauli2015-12-241-2/+2
|\ \ | |/ | | | | | | * PHP-7.0: Remove mentions of "type hint" and "typehint"
| * Remove mentions of "type hint" and "typehint"Levi Morrison2015-12-241-2/+2
| |
* | Implemented the RFC `Support Class Constant Visibility`.Dmitry Stogov2015-12-081-36/+38
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | Squashed commit of the following: commit f11ca0e7a57793fa0e3e7f6d451720e6c42bb0b9 Author: Dmitry Stogov <dmitry@zend.com> Date: Tue Dec 8 12:38:42 2015 +0300 Fixed test expectation commit 211f873f542504d0a0f72b6b5cb23908a1c99a2d Author: Dmitry Stogov <dmitry@zend.com> Date: Tue Dec 8 12:28:38 2015 +0300 Embed zend_class_constant.flags into zend_class_constants.value.u2.access_flags commit 51deab84b2cdbf9cdb1a838cf33b2ee45c61748b Author: Dmitry Stogov <dmitry@zend.com> Date: Mon Dec 7 11:18:55 2015 +0300 Fixed issues found by Nikita commit 544dbd5b47e40d38a8ccb96bc5583e9cb7fdd723 Author: Dmitry Stogov <dmitry@zend.com> Date: Sat Dec 5 02:41:05 2015 +0300 Refactored immplementation of https://wiki.php.net/rfc/class_const_visibility @reeze created an RFC here and I emailed internals here and didn't get any responses positive/negative.
* Fix bug #62441Nikita Popov2015-08-281-5/+1
| | | | | These checks were introduced by 8646d9afce989718cde927c526684bbbc1c96e97 back when name resolution was working differently.
* Mark error and exception functions as "cold" (Matt's idea)Dmitry Stogov2015-08-191-2/+2
|
* fix inheritance of internal interfaces with constantsMichael Wallner2015-08-181-1/+7
|
* use efree_size hereXinchen Hui2015-08-121-3/+3
|
* Fixed invalid read (Part issue of #69579)Xinchen Hui2015-07-101-1/+2
|
* Fixed No 2 issue in #1400Xinchen Hui2015-07-101-0/+2
|
* Fixed Issue #1400 (double free static property)Xinchen Hui2015-07-101-1/+7
|
* Correct type hint name for booleans in method signaturesNiklas Keller2015-07-021-2/+4
|
* Use ZSTR_ API to access zend_string elements (this is just renaming without ↵Dmitry Stogov2015-06-301-93/+93
| | | | semantick changes).
* Restored old behaviorDmitry Stogov2015-06-291-1/+1
|
* Show full signature upon inheritance mismatchBob Weinand2015-06-291-5/+14
|
* micro-optimizationDmitry Stogov2015-06-031-1/+1
|
* Fixed #69566 in masterXinchen Hui2015-05-041-1/+1
|
* Removred temporary codeDmitry Stogov2015-04-221-4/+0
|
* Improved property inheritance codeDmitry Stogov2015-04-221-54/+63
|
* Merge branch 'PHP-5.6'Xinchen Hui2015-04-211-1/+2
| | | | | Conflicts: Zend/zend_compile.c
* Merge branch 'PHP-5.6'Xinchen Hui2015-04-101-0/+1
| | | | | Conflicts: Zend/zend_compile.c
* Convert fatal errors into EngineExceptionsDmitry Stogov2015-04-021-1/+1
| | | | Make zval_update_constant_ex(), zval_update_constant(), zend_update_class_constants() and zend_ast_evaluate() return SUCCESS or FAILURE.
* Reclassify E_STRICT noticesNikita Popov2015-04-011-15/+7
| | | | | | | Per RFC https://wiki.php.net/rfc/reclassify_e_strict While reviewing this, found that there are still three E_STRICTs left in libraries - need to discuss those.
* Deprecate PHP 4 constructorsAndrea Faulds2015-03-311-0/+27
|
* Allow adding return type during inheritanceNikita Popov2015-03-221-3/+6
| | | | | | This is allowed as per the return types RFC. The test for this behavior happened to use an internal class without arginfo, which is why this was not properly implemented.
* Fixed zend_hash_append result duplicated keyXinchen Hui2015-03-081-3/+0
| | | | | | | actually, maybe we should precalculate before calling zend_hash_appen when we are not sure whether the hash is caclculated(prop_info->name). but it looks a little ugly.. (also for zend_string_copy)
* Make fast path linearDmitry Stogov2015-03-061-7/+7
|
* Merge branch 'PHP-5.6'Xinchen Hui2015-03-051-6/+8
|
* Merge branch 'cleanup' of https://github.com/zxcvdavid/php-srcXinchen Hui2015-03-051-2/+0
|\
| * Remove the unused varsWei Dai2015-03-051-2/+0
| |
* | Merge branch 'PHP-5.6'Xinchen Hui2015-03-051-4/+21
|/
* Improved method inhereitance code and cleanupDmitry Stogov2015-03-051-141/+91
|
* Improved ineritance codePRE_PHP7_EREG_MYSQL_REMOVALSDmitry Stogov2015-03-041-44/+53
|
* Improved code for class property inheritanceDmitry Stogov2015-03-041-42/+45
|
* Check interface/trait extension for internal classesGuilherme Blanco2015-02-131-6/+18
| | | | | | Removed possibility to have extensions to declare classes extending interfaces or traits. It was checked in user classes, not extensions or internal.
* Made ZEND_ACC_TRAIT a saner valueGuilherme Blanco2015-02-121-1/+1
| | | | CC_TRAIT valued as 0x120 is too magical to be comprehensible by others.
* Move zend_object->guards into additional slot of ↵Dmitry Stogov2015-02-041-1/+5
| | | | zend_object->properties_table[]. As result size of objects without __get/__set/__unset/__isset magic methods is reduced.
* Add check for null pointer, as done in case 5 lines above.Joshua Rogers2015-01-301-1/+1
|
* Fixed annoying warningsXinchen Hui2015-01-291-1/+1
|
* Implement return typesLevi Morrison2015-01-271-101/+139
| | | | RFC is documented here: https://wiki.php.net/rfc/return_types
* bump yearXinchen Hui2015-01-151-1/+1
|
* trailing whitespace removalStanislav Malyshev2015-01-101-4/+4
|
* Added new API function 'zend_string* zend_string_tolower(zend_string*)'.Dmitry Stogov2014-12-241-31/+15
| | | | It simplifies code and avoids unnecessary allocation and copying if string is already in lower case.
* Don't count variadic argument in zend_func.common.num_args. This allows ↵Dmitry Stogov2014-12-221-7/+16
| | | | faster CALL/RETURN code.
* first shot remove TSRMLS_* thingsAnatol Belski2014-12-131-82/+81
|
* Fixed compilation warningsDmitry Stogov2014-12-121-2/+2
|
* Removed ZEND_ACC_FINAL_CLASS which is unnecessary. This also fixed some ↵Guilherme Blanco2014-12-121-1/+1
| | | | currently defined classes as final which were just not being considered as such before.
* Merge branch 'PHP-5.6'Julien Pauli2014-12-121-2/+2
| | | | | | | | | | * PHP-5.6: Updated NEWS Updated NEWS Fixed Bug #65576 (Constructor from trait conflicts with inherited constructor) Conflicts: Zend/zend_compile.c
* Reduced size of zend_op on 64-bit systems.Dmitry Stogov2014-12-121-1/+1
| | | | | | | | | | | | | | | the main idea - the smaller the zend_op structure, the lees memory traffic is required to load VM instructions during execution. The patch reduces the size of each opcode from 48 to 32 bytes (saves 16 bytes for each opcode, and applications use thousands of opoceds). This reduced the number of CPU cache misses by 12% and improved performance of real-life apps by 1-2%. The patch affects how constants and jump targets are represented in VM during execution. Previously they were implemented as absolute 64-bit pointers. Now they are relative 32-bit offsets. In run-time constant now should be accessed as: RT_CONSTANT(op_array, opine->op1) instead of opline->op1.zv EX_CONSTANT(opline->op1) instead of opline->op1.zv Jump targets: OP_JMP_ADDR(opline, opline->op2) instead of opline->op2.jmp_addr The patch doesn't change zend_op representation for 32-bit systems. They still use absolute addresses. The compile-time representation is also kept the same.
* Use zend_string* for op_array->arg_info[]->name and ↵Dmitry Stogov2014-12-031-16/+41
| | | | op_array->arg_info[]->class_name. For internal functions we still use char*.
* Fix #68185 - Inconsistent insteadof definitionJulien Pauli2014-11-211-1/+1
|