#
a06d6c36 |
| 20-Sep-2021 |
George Peter Banyard |
Voidify zend_cfg_identify_loops() It always returned SUCCESS
|
#
53c72bd6 |
| 20-Sep-2021 |
George Peter Banyard |
Voidify zend_cfg_compute_dominators_tree() It always returned SUCCESS
|
#
6a456644 |
| 20-Sep-2021 |
George Peter Banyard |
Voidify zend_cfg_build_predecessors() It always returned SUCCESS
|
#
50378666 |
| 20-Sep-2021 |
George Peter Banyard |
Voidify zend_build_cfg() It always returned SUCCESS
|
#
643b7b39 |
| 20-Sep-2021 |
George Peter Banyard |
Voidify zend_analyze_calls() It always returned SUCCESS
|
#
278efe3b |
| 20-Sep-2021 |
George Peter Banyard |
Voidify zend_build_call_graph() It always returned SUCCESS
|
#
ac1dd730 |
| 20-Sep-2021 |
Dmitry Stogov |
JIT: Move unusual checks for IS_REFERENCE to cold paths.
|
#
d46b1029 |
| 17-Sep-2021 |
Nikita Popov |
Don't jit FE_RESET_R with undef operand The implementation currently assumes that the operand is always an array, but this did not account for a possibly undef operand.
|
#
12f9dad1 |
| 16-Sep-2021 |
Dmitry Stogov |
Tracing JIT: Record information about elements of arrays and use it to improve generated code (ASSIGN_DIM).
|
Revision tags: php-8.1.0RC2 |
|
#
45d81704 |
| 14-Sep-2021 |
Nikita Popov |
Display DASM_S_UNDEF_PC argument
|
#
133afe85 |
| 13-Sep-2021 |
Nikita Popov |
Fix JIT call chain check without call opcode The do_fcall opcode may have been optimized away if an opcode like exit is present in the arguments. In that case the opcode scan would g
Fix JIT call chain check without call opcode The do_fcall opcode may have been optimized away if an opcode like exit is present in the arguments. In that case the opcode scan would go past the end of the op array.
show more ...
|
#
8c3d33a0 |
| 09-Sep-2021 |
Nikita Popov |
Also make sure binary op operands can't be undef Otherwise we will end up passing undef to xyz_function etc, which is not permitted.
|
#
bac054db |
| 08-Sep-2021 |
Nikita Popov |
Check whether expected types are present for compound op jit zend_jit_long_math_helper() implicitly assumes that the operands MAY_BE_LONG (but can also have additional types). It will no
Check whether expected types are present for compound op jit zend_jit_long_math_helper() implicitly assumes that the operands MAY_BE_LONG (but can also have additional types). It will normally only be called if this is guaranteed. However, for compound array/object assignment ops this was not check. Generalize the existing check for assign_op to apply to these as well. Of course, we could also make the code support this correctly, but I don't think it makes sense to JIT these if the type we're specializing for is not present. Closes GH-7481.
show more ...
|
Revision tags: php-7.4.24RC1, php-8.0.11RC1 |
|
#
aed94e2c |
| 07-Sep-2021 |
Dmitry Stogov |
JIT: improved code for protected properties access
|
#
1bb6cf53 |
| 07-Sep-2021 |
Dmitry Stogov |
JIT: eliminate check for undefined constant if there is a persistent constant
|
#
cbc925e5 |
| 02-Sep-2021 |
Dmitry Stogov |
Fixed bug #81409 (Incorrect JIT code for ADD with a reference to array)
|
Revision tags: php-8.1.0RC1 |
|
#
8f601be1 |
| 30-Aug-2021 |
Dmitry Stogov |
JIT: Allow keeping result of FETCH_CONSTANT in a CPU register
|
#
67d6c2db |
| 29-Aug-2021 |
Dmitry Stogov |
JIT: Optimize zend_vm_stack_free_args() Avoid code genearation for destructors of immutable parameters of internal functions that cannot be changed in place. Keep destructors for immutab
JIT: Optimize zend_vm_stack_free_args() Avoid code genearation for destructors of immutable parameters of internal functions that cannot be changed in place. Keep destructors for immutable array parameters, because few function may modufy them in-pace.
show more ...
|
#
0424ce0c |
| 26-Aug-2021 |
Dmitry Stogov |
Avoid redundand repeatable VM stack overflow checks
|
#
c5ded136 |
| 24-Aug-2021 |
Dmitry Stogov |
JIT: Code generation for ROPE_INIT, ROPE_ADD and ROPE_END with STRING operands
|
Revision tags: 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, php-7.4.22 |
|
#
053c56f5 |
| 21-Jul-2021 |
Dmitry Stogov |
Fixed bug #81226 (Integer overflow behavior is different with JIT enabled)
|
Revision tags: php-8.1.0beta1 |
|
#
ef77d3c8 |
| 17-Jul-2021 |
Christoph M. Becker |
Fix #81206: Multiple PHP processes crash with JIT enabled We need to avoid resetting the JIT for all SAPIs, but we need to initialize the JIT handlers even when only reattaching on Windo
Fix #81206: Multiple PHP processes crash with JIT enabled We need to avoid resetting the JIT for all SAPIs, but we need to initialize the JIT handlers even when only reattaching on Windows. Closes GH-7208.
show more ...
|
Revision tags: 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 |
|
#
d0b09a7b |
| 20-May-2021 |
Joe Watkins |
Add first-class callables Support acquiring a Closure to a callable using the syntax func(...), $obj->method(...), etc. This is essentially a shortcut for Closure::fromCallable().
Add first-class callables Support acquiring a Closure to a callable using the syntax func(...), $obj->method(...), etc. This is essentially a shortcut for Closure::fromCallable(). RFC: https://wiki.php.net/rfc/first_class_callable_syntax Closes GH-7019. Co-Authored-By: Nikita Popov <nikita.ppv@gmail.com>
show more ...
|
#
d550c848 |
| 13-Jul-2021 |
Nikita Popov |
Fix unbalanced NEW call_level in JIT For NEW followed by DO_FCALL, we handle both together and skip over the DO_FCALL, which means that the call_level for it will not be decremented.
Fix unbalanced NEW call_level in JIT For NEW followed by DO_FCALL, we handle both together and skip over the DO_FCALL, which means that the call_level for it will not be decremented. Do so explicitly instead.
show more ...
|
#
aff36587 |
| 29-Jun-2021 |
Patrick Allaert |
Fixed some spaces used instead of tabs
|