#
79d708cf |
| 21-Sep-2024 |
Daniel Scherzer |
GH-15976: clarify error messages for enum/trait/interface/alias names Instead of always saying that a name is reserved or deprecated and cannot/should not be used as a class name, take t
GH-15976: clarify error messages for enum/trait/interface/alias names Instead of always saying that a name is reserved or deprecated and cannot/should not be used as a class name, take the usage into account and say the name cannot be used as an enum name, trait name, etc. In the process, for class names add a missing "a".
show more ...
|
#
3c8fd93d |
| 12-Sep-2024 |
DanielEScherzer |
[skip ci] zend_compile.h: `ZEND_ACC_DEPRECATED` can be used for class constants (#15848) Support for deprecating class constants was added to implement the PHP 8.3 deprecations in #11615
[skip ci] zend_compile.h: `ZEND_ACC_DEPRECATED` can be used for class constants (#15848) Support for deprecating class constants was added to implement the PHP 8.3 deprecations in #11615, but the documentation update was missed. [skip ci]
show more ...
|
#
e1f7197f |
| 05-Sep-2024 |
DanielEScherzer |
[skip ci] zend_compile.h: `ZEND_ACC_FINAL` can be used for constants (GH-15764) There was a whole RFC about this, but the implementation in #6878 seems to have missed updating the docume
[skip ci] zend_compile.h: `ZEND_ACC_FINAL` can be used for constants (GH-15764) There was a whole RFC about this, but the implementation in #6878 seems to have missed updating the documentation
show more ...
|
#
58aa6fc8 |
| 19-May-2023 |
Arnaud Le Blanc |
Lazy objects RFC: https://wiki.php.net/rfc/lazy-objects Closes GH-15019
|
#
8df557ac |
| 27-Aug-2024 |
Ilija Tovilo |
[RFC] Asymmetric visibility v2 (GH-15063) Co-authored-by: Larry Garfield <larry@garfieldtech.com>
|
#
327588ab |
| 20-Aug-2024 |
Ilija Tovilo |
Replace OBJ_PROP_PTR_TO_NUM() with zend_get_property_info_for_slot() I wasn't aware such a function already existed.
|
#
60f87f29 |
| 19-Aug-2024 |
Ilija Tovilo |
Fix various hooked object iterator issues (GH-15394) Fixes GH-15187
|
#
551038bb |
| 16-Jul-2024 |
Tim Düsterhus |
zend_compile: Fully remove `ZEND_DIM_ALTERNATIVE_SYNTAX` (#14974) This flag is longer set since the merge of property hooks in 780a8280d23453ebab5df0dbc35ac897c07c1f0d. This patch remove
zend_compile: Fully remove `ZEND_DIM_ALTERNATIVE_SYNTAX` (#14974) This flag is longer set since the merge of property hooks in 780a8280d23453ebab5df0dbc35ac897c07c1f0d. This patch removes it completely, because the corresponding error messages are unreachable.
show more ...
|
#
780a8280 |
| 14-Jul-2024 |
Ilija Tovilo |
[RFC] Property hooks (#13455) RFC: https://wiki.php.net/rfc/property-hooks Co-authored-by: Nikita Popov <nikita.ppv@gmail.com>
|
#
600d591c |
| 08-May-2024 |
Ilija Tovilo |
Omit FETCH_THIS in closures Non-static closures are guaranteed to have $this. The existing comment highlights this, but fails to handle it correctly. Closes GH-14181
|
#
f2e199e8 |
| 25-Feb-2024 |
Máté Kocsis |
Implement "support doc comments for internal classes and functions" (#13266) Fixes #13130
|
#
c149b4f5 |
| 30-Jan-2024 |
Ilija Tovilo |
Fix missing syntax error message in cli-server router script Fixes GH-13113 Closes GH-13275
|
#
631bc816 |
| 06-Feb-2024 |
Ilija Tovilo |
Implement stackless internal function calls Co-authored-by: Dmitry Stogov <dmitry@zend.com> Closes GH-12461
|
#
ffc250d2 |
| 09-Jan-2024 |
Ilija Tovilo |
Add runtime type inference verification Co-authored-by: Dmitry Stogov <dmitry@zend.com> Closes GH-12930
|
#
5c3a6eae |
| 11-Sep-2023 |
George Peter Banyard |
Zend: Remove dependency on zend.h for certain headers (#12166)
|
#
49ef6e20 |
| 29-Jun-2023 |
Tim Düsterhus |
RFC: Add #[Override] attribute (#9836) * Add #[Override] attribute * Move #[\Override] tests into Zend/tests/attributes/override/ * Check `check_only` before removing `ZEND
RFC: Add #[Override] attribute (#9836) * Add #[Override] attribute * Move #[\Override] tests into Zend/tests/attributes/override/ * Check `check_only` before removing `ZEND_ACC_OVERRIDE` * NEWS/UPGRADING for #[\Override]
show more ...
|
#
6f63d4b2 |
| 19-Apr-2023 |
Ilija Tovilo |
Fix -Wenum-int-mismatch warnings on gcc 13 Closes GH-11103
|
#
414f71a9 |
| 16-Apr-2023 |
Máté Kocsis |
Typed class constants (#10444) RFC: https://wiki.php.net/rfc/typed_class_constants Co-Authored-By: Ben <7127204+moliata@users.noreply.github.com> Co-Authored-By: Bob Weinand <31
Typed class constants (#10444) RFC: https://wiki.php.net/rfc/typed_class_constants Co-Authored-By: Ben <7127204+moliata@users.noreply.github.com> Co-Authored-By: Bob Weinand <3154871+bwoebi@users.noreply.github.com> Co-Authored-By: Ilija Tovilo <ilija.tovilo@me.com>
show more ...
|
#
bf123da5 |
| 04-Apr-2023 |
Tony Su |
[Zend]: Fix unnecessary alignment in ZEND_CALL_FRAME_SLOT macro (#10988) Alignment is not necessary while calculating slots reserved for zend_execute_data and _zend_vm_stack. ZE
[Zend]: Fix unnecessary alignment in ZEND_CALL_FRAME_SLOT macro (#10988) Alignment is not necessary while calculating slots reserved for zend_execute_data and _zend_vm_stack. ZEND_STATIC_ASSERT ensures the correct alignment while code compilation. Credit is to Ilija Tovilo. PR: https://github.com/php/php-src/pull/10988 Signed-off-by: Tony Su <tao.su@intel.com> Reviewed-by : Ilija Tovilo Reviewed-by : Dmitry Stogov Reviewed-by : Niels Dossche
show more ...
|
#
6a6e91f3 |
| 22-Mar-2023 |
Niels Dossche <7771979+nielsdos@users.noreply.github.com> |
Shrink some commonly used structs by reordering members (#10880) Struct members require some alignment based on their type. This means that if a struct member is not aligned, there will
Shrink some commonly used structs by reordering members (#10880) Struct members require some alignment based on their type. This means that if a struct member is not aligned, there will be a hole created by the compiler in the struct, which is wasted space. This patch reorders some of the most commonly used structs, but in such a way that the fields which were in the same cache line still belong together. The only exception to this is exception_ignore_args, which was temporally not close to nearby members, and as such I placed it further up to close a hole. On 64-bit Linux this gives us the following shrinks: * zend_op_array: 248 -> 240 * zend_ssa_var: 56 -> 48 * zend_ssa_var_info: 48 -> 40 * php_core_globals: 672 -> 608 * zend_executor_globals: 1824 -> 1792 On 32-bit, the sizes will either remain the same or will result in smaller shrinks.
show more ...
|
#
7eee0d1b |
| 22-Mar-2023 |
Tony Su |
[Zend]: Remove unused code in MAKE_NOP macro (#10906) Prefer to see clean code. In MAKE_NOP macro, op.num is first set to 0, but immediately set to -1 by SET_UNUSED macro, which
[Zend]: Remove unused code in MAKE_NOP macro (#10906) Prefer to see clean code. In MAKE_NOP macro, op.num is first set to 0, but immediately set to -1 by SET_UNUSED macro, which invalidates previous set-to-zero code. So clean the code to make it look nice and neat. Signed-off-by: Tony Su <tao.su@intel.com>
show more ...
|
#
3bcf2c37 |
| 28-Feb-2023 |
Máté Kocsis |
Allow readonly properties to be reinitialized once during cloning (#10389) RFC: https://wiki.php.net/rfc/readonly_amendments
|
#
d5c649b3 |
| 23-Feb-2023 |
Max Kellermann |
zend_compiler, ...: use `uint8_t` instead of `zend_uchar` (#10621) `zend_uchar` suggests that the value is an ASCII character, but here, it's about very small integers. This is misleadi
zend_compiler, ...: use `uint8_t` instead of `zend_uchar` (#10621) `zend_uchar` suggests that the value is an ASCII character, but here, it's about very small integers. This is misleading, so let's use a C99 integer instead. On all architectures currently supported by PHP, `zend_uchar` and `uint8_t` are identical. This change is only about code readability.
show more ...
|
#
49c1e6eb |
| 20-Feb-2023 |
Max Kellermann |
Make various pointers const in Zend/ (#10608) * Zend/zend_operators: pass const pointers to zend_is_identical() * Zend/zend_operators: pass const pointers to zend_get_{long,double}(
Make various pointers const in Zend/ (#10608) * Zend/zend_operators: pass const pointers to zend_is_identical() * Zend/zend_operators: pass const pointers to zend_get_{long,double}() * Zend/Optimizer/sccp: make pointers const * Zend/Optimizer/scdf: make pointers const * Zend/Optimizer/zend_worklist: make pointers const * Zend/Optimizer/zend_optimizer: make pointers const * Zend/zend_compile: make pointers const
show more ...
|
#
e52684ea |
| 19-Jan-2023 |
Niels Dossche <7771979+nielsdos@users.noreply.github.com> |
Fix GH-10377: Unable to have an anonymous readonly class This fixes the oversight that an anonymous class should be able to be readonly. Other identifiers such as final and abstract do n
Fix GH-10377: Unable to have an anonymous readonly class This fixes the oversight that an anonymous class should be able to be readonly. Other identifiers such as final and abstract do not make sense. As we still want nice errors for when users try to use these modifiers, or use multiple modifiers, we introduce a new function zend_add_anonymous_class_modifier that will perform verification for anonymous class modifiers, just like zend_add_class_modifier does for non-anonymous classes. Closes GH-10381
show more ...
|