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