@@ -1413,6 +1413,8 @@ static zend_always_inline void ZEND_FASTCALL zend_jit_fetch_dim_obj_helper(zval
1413
1413
ZVAL_NULL (result );
1414
1414
return ;
1415
1415
}
1416
+ SEPARATE_ARRAY (object_ptr );
1417
+ arr = Z_ARRVAL_P (object_ptr );
1416
1418
zval * var ;
1417
1419
if (dim ) {
1418
1420
if (type == BP_VAR_W ) {
@@ -1517,6 +1519,8 @@ static void ZEND_FASTCALL zend_jit_assign_dim_helper(zval *object_ptr, zval *dim
1517
1519
}
1518
1520
return ;
1519
1521
}
1522
+ SEPARATE_ARRAY (object_ptr );
1523
+ arr = Z_ARRVAL_P (object_ptr );
1520
1524
zval * var = dim
1521
1525
? zend_jit_fetch_dim_w_helper (arr , dim )
1522
1526
: zend_hash_next_index_insert_new (arr , & EG (uninitialized_zval ));
@@ -1595,6 +1599,8 @@ static void ZEND_FASTCALL zend_jit_assign_dim_op_helper(zval *container, zval *d
1595
1599
zend_array_destroy (arr );
1596
1600
return ;
1597
1601
}
1602
+ SEPARATE_ARRAY (container );
1603
+ arr = Z_ARRVAL_P (container );
1598
1604
zval * var = dim
1599
1605
? zend_jit_fetch_dim_rw_helper (arr , dim )
1600
1606
: zend_hash_next_index_insert_new (arr , & EG (uninitialized_zval ));
@@ -2371,9 +2377,11 @@ static zval * ZEND_FASTCALL zend_jit_prepare_assign_dim_ref(zval *ref) {
2371
2377
return NULL ;
2372
2378
}
2373
2379
if (Z_TYPE_P (val ) == IS_FALSE ) {
2380
+ ZVAL_ARR (val , zend_new_array (8 ));
2374
2381
zend_false_to_array_deprecated ();
2382
+ } else {
2383
+ ZVAL_ARR (val , zend_new_array (8 ));
2375
2384
}
2376
- ZVAL_ARR (val , zend_new_array (8 ));
2377
2385
}
2378
2386
return val ;
2379
2387
}
0 commit comments