Lines Matching refs:dim
461 static void ZEND_FASTCALL zend_jit_fetch_dim_r_helper(zend_array *ht, zval *dim, zval *result) in zend_jit_fetch_dim_r_helper() argument
469 if (Z_TYPE_P(dim) == IS_REFERENCE) { in zend_jit_fetch_dim_r_helper()
470 dim = Z_REFVAL_P(dim); in zend_jit_fetch_dim_r_helper()
473 switch (Z_TYPE_P(dim)) { in zend_jit_fetch_dim_r_helper()
475 hval = Z_LVAL_P(dim); in zend_jit_fetch_dim_r_helper()
478 offset_key = Z_STR_P(dim); in zend_jit_fetch_dim_r_helper()
511 hval = zend_dval_to_lval(Z_DVAL_P(dim)); in zend_jit_fetch_dim_r_helper()
512 if (!zend_is_long_compatible(Z_DVAL_P(dim), hval)) { in zend_jit_fetch_dim_r_helper()
520 zend_incompatible_double_to_long_error(Z_DVAL_P(dim)); in zend_jit_fetch_dim_r_helper()
548 zend_use_resource_as_offset(dim); in zend_jit_fetch_dim_r_helper()
566 hval = Z_RES_HANDLE_P(dim); in zend_jit_fetch_dim_r_helper()
575 zend_illegal_container_offset(ZSTR_KNOWN(ZEND_STR_ARRAY), dim, BP_VAR_R); in zend_jit_fetch_dim_r_helper()
603 static void ZEND_FASTCALL zend_jit_fetch_dim_is_helper(zend_array *ht, zval *dim, zval *result) in zend_jit_fetch_dim_is_helper() argument
611 if (Z_TYPE_P(dim) == IS_REFERENCE) { in zend_jit_fetch_dim_is_helper()
612 dim = Z_REFVAL_P(dim); in zend_jit_fetch_dim_is_helper()
615 switch (Z_TYPE_P(dim)) { in zend_jit_fetch_dim_is_helper()
617 hval = Z_LVAL_P(dim); in zend_jit_fetch_dim_is_helper()
620 offset_key = Z_STR_P(dim); in zend_jit_fetch_dim_is_helper()
653 hval = zend_dval_to_lval(Z_DVAL_P(dim)); in zend_jit_fetch_dim_is_helper()
654 if (!zend_is_long_compatible(Z_DVAL_P(dim), hval)) { in zend_jit_fetch_dim_is_helper()
662 zend_incompatible_double_to_long_error(Z_DVAL_P(dim)); in zend_jit_fetch_dim_is_helper()
690 zend_use_resource_as_offset(dim); in zend_jit_fetch_dim_is_helper()
708 hval = Z_RES_HANDLE_P(dim); in zend_jit_fetch_dim_is_helper()
717 zend_illegal_container_offset(ZSTR_KNOWN(ZEND_STR_ARRAY), dim, in zend_jit_fetch_dim_is_helper()
745 static int ZEND_FASTCALL zend_jit_fetch_dim_isset_helper(zend_array *ht, zval *dim) in zend_jit_fetch_dim_isset_helper() argument
751 if (Z_TYPE_P(dim) == IS_REFERENCE) { in zend_jit_fetch_dim_isset_helper()
752 dim = Z_REFVAL_P(dim); in zend_jit_fetch_dim_isset_helper()
755 switch (Z_TYPE_P(dim)) { in zend_jit_fetch_dim_isset_helper()
757 hval = Z_LVAL_P(dim); in zend_jit_fetch_dim_isset_helper()
760 offset_key = Z_STR_P(dim); in zend_jit_fetch_dim_isset_helper()
781 hval = zend_dval_to_lval(Z_DVAL_P(dim)); in zend_jit_fetch_dim_isset_helper()
782 if (!zend_is_long_compatible(Z_DVAL_P(dim), hval)) { in zend_jit_fetch_dim_isset_helper()
788 zend_incompatible_double_to_long_error(Z_DVAL_P(dim)); in zend_jit_fetch_dim_isset_helper()
804 zend_use_resource_as_offset(dim); in zend_jit_fetch_dim_isset_helper()
812 hval = Z_RES_HANDLE_P(dim); in zend_jit_fetch_dim_isset_helper()
821 zend_illegal_container_offset(ZSTR_KNOWN(ZEND_STR_ARRAY), dim, BP_VAR_IS); in zend_jit_fetch_dim_isset_helper()
849 static zval* ZEND_FASTCALL zend_jit_fetch_dim_rw_helper(zend_array *ht, zval *dim) in zend_jit_fetch_dim_rw_helper() argument
857 if (Z_TYPE_P(dim) == IS_REFERENCE) { in zend_jit_fetch_dim_rw_helper()
858 dim = Z_REFVAL_P(dim); in zend_jit_fetch_dim_rw_helper()
861 switch (Z_TYPE_P(dim)) { in zend_jit_fetch_dim_rw_helper()
863 hval = Z_LVAL_P(dim); in zend_jit_fetch_dim_rw_helper()
866 offset_key = Z_STR_P(dim); in zend_jit_fetch_dim_rw_helper()
889 hval = zend_dval_to_lval(Z_DVAL_P(dim)); in zend_jit_fetch_dim_rw_helper()
890 if (!zend_is_long_compatible(Z_DVAL_P(dim), hval)) { in zend_jit_fetch_dim_rw_helper()
898 zend_incompatible_double_to_long_error(Z_DVAL_P(dim)); in zend_jit_fetch_dim_rw_helper()
928 zend_use_resource_as_offset(dim); in zend_jit_fetch_dim_rw_helper()
948 hval = Z_RES_HANDLE_P(dim); in zend_jit_fetch_dim_rw_helper()
957 zend_illegal_container_offset(ZSTR_KNOWN(ZEND_STR_ARRAY), dim, BP_VAR_RW); in zend_jit_fetch_dim_rw_helper()
981 static zval* ZEND_FASTCALL zend_jit_fetch_dim_w_helper(zend_array *ht, zval *dim) in zend_jit_fetch_dim_w_helper() argument
989 if (Z_TYPE_P(dim) == IS_REFERENCE) { in zend_jit_fetch_dim_w_helper()
990 dim = Z_REFVAL_P(dim); in zend_jit_fetch_dim_w_helper()
993 switch (Z_TYPE_P(dim)) { in zend_jit_fetch_dim_w_helper()
995 hval = Z_LVAL_P(dim); in zend_jit_fetch_dim_w_helper()
998 offset_key = Z_STR_P(dim); in zend_jit_fetch_dim_w_helper()
1022 hval = zend_dval_to_lval(Z_DVAL_P(dim)); in zend_jit_fetch_dim_w_helper()
1023 if (!zend_is_long_compatible(Z_DVAL_P(dim), hval)) { in zend_jit_fetch_dim_w_helper()
1031 zend_incompatible_double_to_long_error(Z_DVAL_P(dim)); in zend_jit_fetch_dim_w_helper()
1061 zend_use_resource_as_offset(dim); in zend_jit_fetch_dim_w_helper()
1081 hval = Z_RES_HANDLE_P(dim); in zend_jit_fetch_dim_w_helper()
1090 zend_illegal_container_offset(ZSTR_KNOWN(ZEND_STR_ARRAY), dim, BP_VAR_R); in zend_jit_fetch_dim_w_helper()
1114 static zend_never_inline zend_long zend_check_string_offset(zval *dim, int type) in zend_check_string_offset() argument
1119 switch(Z_TYPE_P(dim)) { in zend_check_string_offset()
1121 return Z_LVAL_P(dim); in zend_check_string_offset()
1126 if (IS_LONG == is_numeric_string_ex(Z_STRVAL_P(dim), Z_STRLEN_P(dim), &offset, NULL, in zend_check_string_offset()
1130 zend_error(E_WARNING, "Illegal string offset \"%s\"", Z_STRVAL_P(dim)); in zend_check_string_offset()
1134 zend_illegal_container_offset(ZSTR_KNOWN(ZEND_STR_STRING), dim, BP_VAR_R); in zend_check_string_offset()
1147 dim = Z_REFVAL_P(dim); in zend_check_string_offset()
1150 zend_illegal_container_offset(ZSTR_KNOWN(ZEND_STR_STRING), dim, type); in zend_check_string_offset()
1154 return zval_get_long_func(dim, /* is_strict */ false); in zend_check_string_offset()
1180 static zend_string* ZEND_FASTCALL zend_jit_fetch_dim_str_r_helper(zend_string *str, zval *dim) in zend_jit_fetch_dim_str_r_helper() argument
1184 if (UNEXPECTED(Z_TYPE_P(dim) != IS_LONG)) { in zend_jit_fetch_dim_str_r_helper()
1188 offset = zend_check_string_offset(dim, BP_VAR_R); in zend_jit_fetch_dim_str_r_helper()
1195 offset = Z_LVAL_P(dim); in zend_jit_fetch_dim_str_r_helper()
1203 static void ZEND_FASTCALL zend_jit_fetch_dim_str_is_helper(zend_string *str, zval *dim, zval *resul… in zend_jit_fetch_dim_str_is_helper() argument
1208 if (UNEXPECTED(Z_TYPE_P(dim) != IS_LONG)) { in zend_jit_fetch_dim_str_is_helper()
1209 switch (Z_TYPE_P(dim)) { in zend_jit_fetch_dim_str_is_helper()
1212 if (IS_LONG == is_numeric_string(Z_STRVAL_P(dim), Z_STRLEN_P(dim), NULL, NULL, false)) { in zend_jit_fetch_dim_str_is_helper()
1225 dim = Z_REFVAL_P(dim); in zend_jit_fetch_dim_str_is_helper()
1228 zend_illegal_container_offset(ZSTR_KNOWN(ZEND_STR_STRING), dim, in zend_jit_fetch_dim_str_is_helper()
1235 offset = zval_get_long_func(dim, /* is_strict */ false); in zend_jit_fetch_dim_str_is_helper()
1237 offset = Z_LVAL_P(dim); in zend_jit_fetch_dim_str_is_helper()
1256 static void ZEND_FASTCALL zend_jit_fetch_dim_obj_r_helper(zval *container, zval *dim, zval *result) in zend_jit_fetch_dim_obj_r_helper() argument
1262 if (UNEXPECTED(Z_TYPE_P(dim) == IS_UNDEF)) { in zend_jit_fetch_dim_obj_r_helper()
1264 dim = &EG(uninitialized_zval); in zend_jit_fetch_dim_obj_r_helper()
1267 retval = obj->handlers->read_dimension(obj, dim, BP_VAR_R, result); in zend_jit_fetch_dim_obj_r_helper()
1283 static void ZEND_FASTCALL zend_jit_fetch_dim_obj_is_helper(zval *container, zval *dim, zval *result) in zend_jit_fetch_dim_obj_is_helper() argument
1289 if (UNEXPECTED(Z_TYPE_P(dim) == IS_UNDEF)) { in zend_jit_fetch_dim_obj_is_helper()
1291 dim = &EG(uninitialized_zval); in zend_jit_fetch_dim_obj_is_helper()
1294 retval = obj->handlers->read_dimension(obj, dim, BP_VAR_IS, result); in zend_jit_fetch_dim_obj_is_helper()
1310 static zend_never_inline void zend_assign_to_string_offset(zval *str, zval *dim, zval *value, zval … in zend_assign_to_string_offset() argument
1329 if (UNEXPECTED(Z_TYPE_P(dim) != IS_LONG)) { in zend_assign_to_string_offset()
1333 offset = zend_check_string_offset(dim, BP_VAR_W); in zend_assign_to_string_offset()
1348 offset = Z_LVAL_P(dim); in zend_assign_to_string_offset()
1454 …e void ZEND_FASTCALL zend_jit_fetch_dim_obj_helper(zval *object_ptr, zval *dim, zval *result, int … in zend_jit_fetch_dim_obj_helper() argument
1462 if (dim && UNEXPECTED(Z_ISUNDEF_P(dim))) { in zend_jit_fetch_dim_obj_helper()
1465 dim = &EG(uninitialized_zval); in zend_jit_fetch_dim_obj_helper()
1468 retval = obj->handlers->read_dimension(obj, dim, type, result); in zend_jit_fetch_dim_obj_helper()
1498 if (!dim) { in zend_jit_fetch_dim_obj_helper()
1501 if (UNEXPECTED(Z_TYPE_P(dim) != IS_LONG)) { in zend_jit_fetch_dim_obj_helper()
1502 zend_check_string_offset(dim, BP_VAR_RW); in zend_jit_fetch_dim_obj_helper()
1520 if (dim) { in zend_jit_fetch_dim_obj_helper()
1522 var = zend_jit_fetch_dim_w_helper(arr, dim); in zend_jit_fetch_dim_obj_helper()
1525 var = zend_jit_fetch_dim_rw_helper(arr, dim); in zend_jit_fetch_dim_obj_helper()
1546 static void ZEND_FASTCALL zend_jit_fetch_dim_obj_w_helper(zval *object_ptr, zval *dim, zval *result) in zend_jit_fetch_dim_obj_w_helper() argument
1548 zend_jit_fetch_dim_obj_helper(object_ptr, dim, result, BP_VAR_W); in zend_jit_fetch_dim_obj_w_helper()
1551 static void ZEND_FASTCALL zend_jit_fetch_dim_obj_rw_helper(zval *object_ptr, zval *dim, zval *resul… in zend_jit_fetch_dim_obj_rw_helper() argument
1553 zend_jit_fetch_dim_obj_helper(object_ptr, dim, result, BP_VAR_RW); in zend_jit_fetch_dim_obj_rw_helper()
1561 static void ZEND_FASTCALL zend_jit_assign_dim_helper(zval *object_ptr, zval *dim, zval *value, zval… in zend_jit_assign_dim_helper() argument
1567 if (dim && UNEXPECTED(Z_TYPE_P(dim) == IS_UNDEF)) { in zend_jit_assign_dim_helper()
1570 dim = &EG(uninitialized_zval); in zend_jit_assign_dim_helper()
1582 obj->handlers->write_dimension(obj, dim, value); in zend_jit_assign_dim_helper()
1594 } else if (EXPECTED(Z_TYPE_P(object_ptr) == IS_STRING) && EXPECTED(dim != NULL)) { in zend_jit_assign_dim_helper()
1595 zend_assign_to_string_offset(object_ptr, dim, value, result); in zend_jit_assign_dim_helper()
1625 zval *var = dim in zend_jit_assign_dim_helper()
1626 ? zend_jit_fetch_dim_w_helper(arr, dim) in zend_jit_assign_dim_helper()
1640 if (dim && UNEXPECTED(Z_TYPE_P(dim) == IS_UNDEF)) { in zend_jit_assign_dim_helper()
1643 dim = &EG(uninitialized_zval); in zend_jit_assign_dim_helper()
1652 static void ZEND_FASTCALL zend_jit_assign_dim_op_helper(zval *container, zval *dim, zval *value, bi… in zend_jit_assign_dim_op_helper() argument
1660 if (dim && UNEXPECTED(Z_ISUNDEF_P(dim))) { in zend_jit_assign_dim_op_helper()
1663 dim = &EG(uninitialized_zval); in zend_jit_assign_dim_op_helper()
1666 z = obj->handlers->read_dimension(obj, dim, BP_VAR_R, &rv); in zend_jit_assign_dim_op_helper()
1670 obj->handlers->write_dimension(obj, dim, &res); in zend_jit_assign_dim_op_helper()
1688 if (!dim) { in zend_jit_assign_dim_op_helper()
1691 if (UNEXPECTED(Z_TYPE_P(dim) != IS_LONG)) { in zend_jit_assign_dim_op_helper()
1692 zend_check_string_offset(dim, BP_VAR_RW); in zend_jit_assign_dim_op_helper()
1707 zval *var = dim in zend_jit_assign_dim_op_helper()
1708 ? zend_jit_fetch_dim_rw_helper(arr, dim) in zend_jit_assign_dim_op_helper()