| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|\ \
| |/
| |
| |
| | |
* PHP-7.0:
Remove mentions of "type hint" and "typehint"
|
| | |
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
These checks were introduced by 8646d9afce989718cde927c526684bbbc1c96e97
back when name resolution was working differently.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
semantick changes).
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
Conflicts:
Zend/zend_compile.c
|
|
|
|
|
| |
Conflicts:
Zend/zend_compile.c
|
|
|
|
| |
Make zval_update_constant_ex(), zval_update_constant(), zend_update_class_constants() and zend_ast_evaluate() return SUCCESS or FAILURE.
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
| |
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)
|
| |
|
| |
|
|\ |
|
| | |
|
|/ |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
Removed possibility to have extensions to declare classes extending
interfaces or traits. It was checked in user classes, not extensions
or internal.
|
|
|
|
| |
CC_TRAIT valued as 0x120 is too magical to be comprehensible by others.
|
|
|
|
| |
zend_object->properties_table[]. As result size of objects without __get/__set/__unset/__isset magic methods is reduced.
|
| |
|
| |
|
|
|
|
| |
RFC is documented here: https://wiki.php.net/rfc/return_types
|
| |
|
| |
|
|
|
|
| |
It simplifies code and avoids unnecessary allocation and copying if string is already in lower case.
|
|
|
|
| |
faster CALL/RETURN code.
|
| |
|
| |
|
|
|
|
| |
currently defined classes as final which were just not being considered as such before.
|
|
|
|
|
|
|
|
|
|
| |
* PHP-5.6:
Updated NEWS
Updated NEWS
Fixed Bug #65576 (Constructor from trait conflicts with inherited constructor)
Conflicts:
Zend/zend_compile.c
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
op_array->arg_info[]->class_name. For internal functions we still use char*.
|
| |
|