History log of /PHP-8.4/Zend/zend_compile.h (Results 1 – 25 of 954)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 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 ...


12345678910>>...39