php-src/ext/opcache/Optimizer
Nikita Popov fdb05b92bf Only replace IN_ARRAY result type for JMPZ/JMPNZ
Replacing the result type in the general case is dangerous,
because not all opcodes support both VAR and TMP. One common case
is the in_array() result being passed to SEND_VAR, which would
have to be changed to SEND_VAL.

Rather than complicating this logic, reduce the scope to only
doing the type replacement for JMPZ and JMPNZ. The only reason
we're doing this in the first place is to enable the smart branch
optimization, so we can limit it to the relevant opcodes. Replacing
the result type may be marginally useful in other cases as well
(as it may avoid reference checks), but not worth the bother.
2020-11-30 11:18:21 +01:00
..
block_pass.c Fixed bug #80255 2020-10-19 15:13:53 +02:00
compact_literals.c Remove support for EXT_NOP 2020-09-18 11:03:08 +02:00
compact_vars.c Remove copyright years. 2019-02-05 10:33:28 +03:00
dce.c Remove support for EXT_NOP 2020-09-18 11:03:08 +02:00
dfa_pass.c Only replace IN_ARRAY result type for JMPZ/JMPNZ 2020-11-30 11:18:21 +01:00
escape_analysis.c Clean up a few more places 2020-03-17 15:23:52 +01:00
nop_removal.c Remove copyright years. 2019-02-05 10:33:28 +03:00
optimize_func_calls.c Implement named parameters 2020-07-31 15:53:36 +02:00
optimize_temp_vars_5.c Fix #78880: Another bunch of spelling errors 2020-01-16 09:46:47 +01:00
pass1.c Implement nullsafe ?-> operator 2020-07-24 10:05:03 +02:00
pass3.c Fix #78880: Final spelling fixes 2020-01-16 19:14:31 +01:00
sccp.c Respect strict_types during sccp function call evaluation 2020-11-27 20:24:00 +01:00
scdf.c Fix handling of non-final loop var free in sccp 2019-12-12 09:39:52 +01:00
scdf.h Use ZEND_UNREACHABLE() instead of ZEND_ASSERT(0) 2020-06-16 18:39:09 +02:00
ssa_integrity.c Merge branch 'PHP-7.4' into PHP-8.0 2020-11-09 17:08:38 +01:00
zend_call_graph.c Implement named parameters 2020-07-31 15:53:36 +02:00
zend_call_graph.h Implement named parameters 2020-07-31 15:53:36 +02:00
zend_cfg.c Remove support for EXT_NOP 2020-09-18 11:03:08 +02:00
zend_cfg.h [skip ci] Fix typos in jit code comments 2020-04-19 10:03:49 -04:00
zend_dfg.c Fixed RC inference for ZEND_ASSIGN_STATIC_PROP and removed useless checks during RC inference 2020-03-14 01:17:45 +03:00
zend_dfg.h Tracing JIT (it doesn't support register allocation yet) 2020-03-13 22:11:07 +03:00
zend_dump.c Use MIN/MAX when dumping RANGE[] 2020-11-20 16:47:46 +01:00
zend_dump.h Always print numeric opline numbers 2020-03-25 14:26:42 +03:00
zend_func_info.c Promote pack/unpack format errors 2020-09-22 15:12:05 +02:00
zend_func_info.h Keep track information about used JIT trigger in ZEND_FUNC_INFO(op_array)->func_info.flags 2020-09-29 13:05:24 +03:00
zend_inference.c Fixed bug #80404 2020-11-24 11:35:44 +01:00
zend_inference.h Perform trace range propagation 2020-10-13 00:18:17 +03:00
zend_optimizer_internal.h Extract zend_foreach_op_array() 2020-05-19 11:15:54 +02:00
zend_optimizer.c Merge branch 'PHP-7.4' into PHP-8.0 2020-11-17 10:20:23 +01:00
zend_optimizer.h Optimizer cleanup 2019-10-03 02:18:16 +03:00
zend_ssa.c Merge branch 'PHP-7.4' into PHP-8.0 2020-11-09 17:08:38 +01:00
zend_ssa.h Eliminate unnecessary IS_INDIRECT guards 2020-09-10 02:20:15 +03:00
zend_worklist.h Remove copyright years. 2019-02-05 10:33:28 +03:00