File tree 1 file changed +4
-5
lines changed
1 file changed +4
-5
lines changed Original file line number Diff line number Diff line change @@ -338,13 +338,12 @@ int zend_dfa_optimize_calls(zend_op_array *op_array, zend_ssa *ssa)
338
338
339
339
if (func_info -> callee_info ) {
340
340
zend_call_info * call_info = func_info -> callee_info ;
341
- static zend_function * in_array_function = NULL ;
342
341
343
- if (!in_array_function ) {
344
- in_array_function = zend_hash_str_find_ptr (CG (function_table ), "in_array" , sizeof ("in_array" )- 1 );
345
- }
346
342
do {
347
- if (call_info -> callee_func == in_array_function
343
+ if (call_info -> caller_call_opline -> opcode == ZEND_DO_ICALL
344
+ && call_info -> callee_func
345
+ && ZSTR_LEN (call_info -> callee_func -> common .function_name ) == sizeof ("in_array" )- 1
346
+ && memcmp (ZSTR_VAL (call_info -> callee_func -> common .function_name ), "in_array" , sizeof ("in_array" )- 1 ) == 0
348
347
&& (call_info -> caller_init_opline -> extended_value == 2
349
348
|| (call_info -> caller_init_opline -> extended_value == 3
350
349
&& (call_info -> caller_call_opline - 1 )-> opcode == ZEND_SEND_VAL
You can’t perform that action at this time.
0 commit comments