History log of /PHP-8.3/Zend/zend_vm_gen.php (Results 1 – 25 of 312)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 73c5f36f 03-Aug-2023 Ilija Tovilo

Assert ptr_ptr value of TMP|CONST isn't used (#11865)

We require valid code for compilation to succeed, but these paths should always
be guarded by OPx_TYPE checks and never execute. Add

Assert ptr_ptr value of TMP|CONST isn't used (#11865)

We require valid code for compilation to succeed, but these paths should always
be guarded by OPx_TYPE checks and never execute. Add an assertion to verify.

show more ...


# 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 ...


# 02bd52b5 20-Oct-2022 Ilija Tovilo

Implement dynamic class const fetch

https://wiki.php.net/rfc/dynamic_class_constant_fetch

Closes GH-9793


Revision tags: php-8.2.0RC1, php-8.1.10, php-8.0.23, php-8.0.23RC1, php-8.1.10RC1, php-8.2.0beta3, php-8.2.0beta2, php-8.1.9, php-8.0.22, php-8.1.9RC1, php-8.2.0beta1, php-8.0.22RC1, php-8.0.21, php-8.1.8, php-8.2.0alpha3, php-8.1.8RC1, php-8.2.0alpha2, php-8.0.21RC1
# 3f7ec69b 12-Jun-2022 Ilija Tovilo

Collapse more generated files in PRs (#8754)

* The generated VM files
* tokenizer_data.c


Revision tags: php-8.0.20, php-8.1.7, php-8.2.0alpha1, php-7.4.30
# b4285e55 25-May-2022 Bob Weinand

Ensure vm_spec_handlers exists for all opcodes <= 255 so that user defined higher opcodes do not read outside buffer

This largely has no effect in practice, but ASAN will complain then.


Revision tags: php-8.1.7RC1, php-8.0.20RC1, php-8.1.6, php-8.0.19, php-8.1.6RC1, php-8.0.19RC1, php-8.0.18, php-8.1.5, php-7.4.29, php-8.1.5RC1, php-8.0.18RC1, php-8.1.4, php-8.0.17
# 9a90bd70 12-Mar-2022 Ilija Tovilo

Deprecate ${} string interpolation

https://wiki.php.net/rfc/deprecate_dollar_brace_string_interpolation


Revision tags: php-8.1.4RC1, php-8.0.17RC1, php-8.1.3, php-8.0.16, php-7.4.28, php-8.1.3RC1, php-8.0.16RC1, php-8.1.2, php-8.0.15, php-8.1.2RC1, php-8.0.15RC1
# b63e4cf7 30-Dec-2021 Nikita Popov

Handle holes in zend_get_opcode_id()

Some opcodes may currently not be allocated.


Revision tags: php-8.0.14, php-8.1.1, php-7.4.27, php-8.1.1RC1, php-8.0.14RC1
# 09547c64 01-Dec-2021 Dmitry Stogov

Fix clobering of operand by error handler in assignment to string offset

In some cases new code requires two reallocations insead of one.

Fixes oss-fuzz #31716, #36196, #39739 and #

Fix clobering of operand by error handler in assignment to string offset

In some cases new code requires two reallocations insead of one.

Fixes oss-fuzz #31716, #36196, #39739 and #40002

show more ...


Revision tags: php-7.4.27RC1, php-8.1.0, php-8.0.13, php-7.4.26, php-7.3.33, php-8.1.0RC6
# ee377744 04-Nov-2021 Nikita Popov

Suppress unused label warnings in SWITCH VM

While we avoid emitting labels for handlers that are not referenced
from anywhere else, we do not perform a fine-grained analysis on
used

Suppress unused label warnings in SWITCH VM

While we avoid emitting labels for handlers that are not referenced
from anywhere else, we do not perform a fine-grained analysis on
used specializations, so some of the specialization labels may not
be used. Use ATTRIBUTE_UNUSED_LABEL to suppress the warning. Drop
"cold" from the definition of this attribute, as it is completely
unrelated.

show more ...


Revision tags: php-7.4.26RC1, php-8.0.13RC1, php-8.1.0RC5, php-7.3.32, php-7.4.25, php-8.0.12
# da0d246e 19-Oct-2021 Nikita Popov

Drop FREE_OP_VAR_PTR() distinction

FREE_OP_VAR_PTR() is like FREE_OP(), but only frees VAR, rather
than VARs and TMPs. I don't think this distinction makes sense
anymore, as opcodes

Drop FREE_OP_VAR_PTR() distinction

FREE_OP_VAR_PTR() is like FREE_OP(), but only frees VAR, rather
than VARs and TMPs. I don't think this distinction makes sense
anymore, as opcodes using FREE_OP_VAR_PTR() generally only accept
VAR or CV. For the cases where other op types are accepted and
only freeing VAR is desired we already have FREE_OP_IF_VAR().

This drops FREE_OP_VAR_PTR(), leaving only FREE_OP() and
FREE_OP_IF_VAR().

show more ...


# 58a0c5a2 19-Oct-2021 Nikita Popov

Remove stale variables from zend_vm_gen.php

These "unfetched" variants no longer exist.


Revision tags: php-8.1.0RC4, php-8.0.12RC1, php-7.4.25RC1
# c3dda473 02-Oct-2021 Kamil Tekiela

Fix 'can not' in test data and in code comments


Revision tags: php-8.1.0RC3, php-8.0.11, php-7.4.24, php-7.3.31, php-8.1.0RC2, php-7.4.24RC1, php-8.0.11RC1, php-8.1.0RC1, php-7.4.23, php-8.0.10, php-7.3.30, php-8.1.0beta3, php-8.0.10RC1, php-7.4.23RC1, php-8.1.0beta2, php-8.0.9
# 60ea2cbf 29-Jul-2021 Hao Sun

Fix a typo in function execute_ex (#7315)


Revision tags: php-7.4.22, php-8.1.0beta1, php-7.4.22RC1, php-8.0.9RC1, php-8.1.0alpha3, php-7.4.21, php-7.3.29, php-8.0.8, php-8.1.0alpha2, php-7.4.21RC1, php-8.0.8RC1, php-8.1.0alpha1, php-8.0.7, php-7.4.20, php-8.0.7RC1
# 5fe20625 18-May-2021 Dmitry Stogov

Correct DWARF frame description.

Now GDB correctly shows backtraces that involves JIT-ed code for
functional/tracing JIT, HYBRID/CALL VM, x86/AArch64 CPU.
(opcache.jit_debug=0x100 sh

Correct DWARF frame description.

Now GDB correctly shows backtraces that involves JIT-ed code for
functional/tracing JIT, HYBRID/CALL VM, x86/AArch64 CPU.
(opcache.jit_debug=0x100 should be set).

show more ...


Revision tags: php-7.4.20RC1, php-8.0.6, php-7.4.19, php-7.4.18, php-7.3.28, php-8.0.5
# 997374f4 26-Apr-2021 Dmitry Stogov

Disable "red zone" usage (it leads to crashes).


# 57f2fe44 26-Apr-2021 Dmitry Stogov

Use "red zone" for HYBRID VM.
Support for CALL VM and VM without global register variables.


Revision tags: php-8.0.5RC1, php-7.4.18RC1
# 57eb29f1 06-Apr-2021 Nikita Popov

Update zend_vm_gen.php with zend_vm_opcode.c/h changes

The generated files were modified directly, resulting in mysterious
build failures depending on exact build order.


Revision tags: php-8.0.4RC1, php-7.4.17RC1, php-8.0.3, php-7.4.16, php-8.0.3RC1, php-7.4.16RC1
# b86dfb0e 15-Feb-2021 Max Semenik

Fix E_DEPRECATED in zend_vm_gen.php

explode(): Passing null to parameter #2 ($string) of type string is
deprecated

Closes GH-6698.


# de5b4221 17-Feb-2021 Nikita Popov

Avoid writing zend_vm_opcodes.h if it did not change

Now that we track header changes, a change to zend_vm_opcodes.h
requires rebuilding essentially the whole tree. In most cases,
ch

Avoid writing zend_vm_opcodes.h if it did not change

Now that we track header changes, a change to zend_vm_opcodes.h
requires rebuilding essentially the whole tree. In most cases,
changes to zend_vm_def.h don't actually result in any header
changes though.

Avoid touching the file by first checking whether the to be written
contents are actually the same.

show more ...


# cbfdc1fd 17-Feb-2021 Alex Erohin

Coding style tweaks for zend_vm_gen.php

- fixed array style for $vm_kind_name and $op_types
- deleted unnecessary else statement for is_hot_helper function
- fixed concatenation styl

Coding style tweaks for zend_vm_gen.php

- fixed array style for $vm_kind_name and $op_types
- deleted unnecessary else statement for is_hot_helper function
- fixed concatenation style
- fixed style of using whitespace between "(" and switch/foreach - replaced !is_null with "!=="

Closes GH-6704.

show more ...


Revision tags: php-8.0.2, php-7.4.15, php-7.3.27, php-8.0.2RC1, php-7.4.15RC2, php-7.4.15RC1, php-8.0.1, php-7.4.14, php-7.3.26, php-7.4.14RC1, php-8.0.1RC1, php-7.3.26RC1
# 8ad2b59e 01-Dec-2020 Dmitry Stogov

Disable stack reuse optimization for x86 PIC code. It may clobber local variable used for Global Offset Table.


# 841b00f6 30-Nov-2020 Dmitry Stogov

Preallocate stack space for JIT in execute_ex() to eliminate JIT prologue/epilogue.


Revision tags: php-8.0.0, php-7.3.25, php-7.4.13, php-8.0.0RC5
# 58d41b8c 11-Nov-2020 Sammy Kaye Powers

Provide unused retvals to observers

Make sure that the return value is available to observers, even if
it is not used by the caller.

Closes GH-6422.


# 855d8fa6 11-Nov-2020 Dmitry Stogov

[Observer] Save opline before calling begin/end handlers


Revision tags: php-7.4.13RC1, php-8.0.0RC4, php-7.3.25RC1, php-7.4.12, php-8.0.0RC3, php-7.3.24, php-8.0.0RC2, php-7.4.12RC1, php-7.3.24RC1, php-7.2.34, php-8.0.0rc1, php-7.4.11, php-7.3.23
# d5d31ea3 18-Sep-2020 Dmitry Stogov

Cleanup observer API and add JIT support


12345678910>>...13