}
} else if (EXPECTED(Z_TYPE_P(op1) == IS_STRING)) {
if (EXPECTED(Z_TYPE_P(op2) == IS_STRING)) {
- if (Z_STR_P(op1) == Z_STR_P(op2)) {
- result = 1;
- } else if (Z_STRVAL_P(op1)[0] > '9' || Z_STRVAL_P(op2)[0] > '9') {
- if (Z_STRLEN_P(op1) != Z_STRLEN_P(op2)) {
- result = 0;
- } else {
- result = (memcmp(Z_STRVAL_P(op1), Z_STRVAL_P(op2), Z_STRLEN_P(op1)) == 0);
- }
- } else {
- result = (zendi_smart_strcmp(Z_STR_P(op1), Z_STR_P(op2)) == 0);
- }
+ result = zend_fast_equal_strings(Z_STR_P(op1), Z_STR_P(op2));
} else {
}
} else if (EXPECTED(Z_TYPE_P(op1) == IS_STRING)) {
if (EXPECTED(Z_TYPE_P(op2) == IS_STRING)) {
- if (Z_STR_P(op1) == Z_STR_P(op2)) {
- result = 0;
- } else if (Z_STRVAL_P(op1)[0] > '9' || Z_STRVAL_P(op2)[0] > '9') {
- if (Z_STRLEN_P(op1) != Z_STRLEN_P(op2)) {
- result = 1;
- } else {
- result = (memcmp(Z_STRVAL_P(op1), Z_STRVAL_P(op2), Z_STRLEN_P(op1)) != 0);
- }
- } else {
- result = (zendi_smart_strcmp(Z_STR_P(op1), Z_STR_P(op2)) != 0);
- }
+ result = !zend_fast_equal_strings(Z_STR_P(op1), Z_STR_P(op2));
} else {
(EXPECTED(p->key == Z_STR_P(offset)) ||
(EXPECTED(p->h == ZSTR_H(Z_STR_P(offset))) &&
EXPECTED(p->key != NULL) &&
- EXPECTED(ZSTR_LEN(p->key) == Z_STRLEN_P(offset)) &&
- EXPECTED(memcmp(ZSTR_VAL(p->key), Z_STRVAL_P(offset), Z_STRLEN_P(offset)) == 0)))) {
+ EXPECTED(zend_string_equal_content(p->key, Z_STR_P(offset)))))) {
ZVAL_COPY_UNREF(EX_VAR(opline->result.var), &p->val);
break;
}
(EXPECTED(p->key == Z_STR_P(offset)) ||
(EXPECTED(p->h == ZSTR_H(Z_STR_P(offset))) &&
EXPECTED(p->key != NULL) &&
- EXPECTED(ZSTR_LEN(p->key) == Z_STRLEN_P(offset)) &&
- EXPECTED(memcmp(ZSTR_VAL(p->key), Z_STRVAL_P(offset), Z_STRLEN_P(offset)) == 0)))) {
+ EXPECTED(zend_string_equal_content(p->key, Z_STR_P(offset)))))) {
ZVAL_COPY(EX_VAR(opline->result.var), &p->val);
break;
}
}
} else if (EXPECTED(Z_TYPE_P(op1) == IS_STRING)) {
if (EXPECTED(Z_TYPE_P(op2) == IS_STRING)) {
- if (Z_STR_P(op1) == Z_STR_P(op2)) {
- result = 1;
- } else if (Z_STRVAL_P(op1)[0] > '9' || Z_STRVAL_P(op2)[0] > '9') {
- if (Z_STRLEN_P(op1) != Z_STRLEN_P(op2)) {
- result = 0;
- } else {
- result = (memcmp(Z_STRVAL_P(op1), Z_STRVAL_P(op2), Z_STRLEN_P(op1)) == 0);
- }
- } else {
- result = (zendi_smart_strcmp(Z_STR_P(op1), Z_STR_P(op2)) == 0);
- }
+ result = zend_fast_equal_strings(Z_STR_P(op1), Z_STR_P(op2));
} else {
break;
}
} else if (EXPECTED(Z_TYPE_P(op1) == IS_STRING)) {
if (EXPECTED(Z_TYPE_P(op2) == IS_STRING)) {
- if (Z_STR_P(op1) == Z_STR_P(op2)) {
- result = 1;
- } else if (Z_STRVAL_P(op1)[0] > '9' || Z_STRVAL_P(op2)[0] > '9') {
- if (Z_STRLEN_P(op1) != Z_STRLEN_P(op2)) {
- result = 0;
- } else {
- result = (memcmp(Z_STRVAL_P(op1), Z_STRVAL_P(op2), Z_STRLEN_P(op1)) == 0);
- }
- } else {
- result = (zendi_smart_strcmp(Z_STR_P(op1), Z_STR_P(op2)) == 0);
- }
+ result = zend_fast_equal_strings(Z_STR_P(op1), Z_STR_P(op2));
} else {
}
} else if (EXPECTED(Z_TYPE_P(op1) == IS_STRING)) {
if (EXPECTED(Z_TYPE_P(op2) == IS_STRING)) {
- if (Z_STR_P(op1) == Z_STR_P(op2)) {
- result = 0;
- } else if (Z_STRVAL_P(op1)[0] > '9' || Z_STRVAL_P(op2)[0] > '9') {
- if (Z_STRLEN_P(op1) != Z_STRLEN_P(op2)) {
- result = 1;
- } else {
- result = (memcmp(Z_STRVAL_P(op1), Z_STRVAL_P(op2), Z_STRLEN_P(op1)) != 0);
- }
- } else {
- result = (zendi_smart_strcmp(Z_STR_P(op1), Z_STR_P(op2)) != 0);
- }
+ result = !zend_fast_equal_strings(Z_STR_P(op1), Z_STR_P(op2));
} else {
(EXPECTED(p->key == Z_STR_P(offset)) ||
(EXPECTED(p->h == ZSTR_H(Z_STR_P(offset))) &&
EXPECTED(p->key != NULL) &&
- EXPECTED(ZSTR_LEN(p->key) == Z_STRLEN_P(offset)) &&
- EXPECTED(memcmp(ZSTR_VAL(p->key), Z_STRVAL_P(offset), Z_STRLEN_P(offset)) == 0)))) {
+ EXPECTED(zend_string_equal_content(p->key, Z_STR_P(offset)))))) {
ZVAL_COPY_UNREF(EX_VAR(opline->result.var), &p->val);
break;
}
(EXPECTED(p->key == Z_STR_P(offset)) ||
(EXPECTED(p->h == ZSTR_H(Z_STR_P(offset))) &&
EXPECTED(p->key != NULL) &&
- EXPECTED(ZSTR_LEN(p->key) == Z_STRLEN_P(offset)) &&
- EXPECTED(memcmp(ZSTR_VAL(p->key), Z_STRVAL_P(offset), Z_STRLEN_P(offset)) == 0)))) {
+ EXPECTED(zend_string_equal_content(p->key, Z_STR_P(offset)))))) {
ZVAL_COPY(EX_VAR(opline->result.var), &p->val);
break;
}
}
} else if (EXPECTED(Z_TYPE_P(op1) == IS_STRING)) {
if (EXPECTED(Z_TYPE_P(op2) == IS_STRING)) {
- if (Z_STR_P(op1) == Z_STR_P(op2)) {
- result = 1;
- } else if (Z_STRVAL_P(op1)[0] > '9' || Z_STRVAL_P(op2)[0] > '9') {
- if (Z_STRLEN_P(op1) != Z_STRLEN_P(op2)) {
- result = 0;
- } else {
- result = (memcmp(Z_STRVAL_P(op1), Z_STRVAL_P(op2), Z_STRLEN_P(op1)) == 0);
- }
- } else {
- result = (zendi_smart_strcmp(Z_STR_P(op1), Z_STR_P(op2)) == 0);
- }
+ result = zend_fast_equal_strings(Z_STR_P(op1), Z_STR_P(op2));
} else {
break;
}
} else if (EXPECTED(Z_TYPE_P(op1) == IS_STRING)) {
if (EXPECTED(Z_TYPE_P(op2) == IS_STRING)) {
- if (Z_STR_P(op1) == Z_STR_P(op2)) {
- result = 1;
- } else if (Z_STRVAL_P(op1)[0] > '9' || Z_STRVAL_P(op2)[0] > '9') {
- if (Z_STRLEN_P(op1) != Z_STRLEN_P(op2)) {
- result = 0;
- } else {
- result = (memcmp(Z_STRVAL_P(op1), Z_STRVAL_P(op2), Z_STRLEN_P(op1)) == 0);
- }
- } else {
- result = (zendi_smart_strcmp(Z_STR_P(op1), Z_STR_P(op2)) == 0);
- }
+ result = zend_fast_equal_strings(Z_STR_P(op1), Z_STR_P(op2));
zval_ptr_dtor_nogc(free_op2);
} else {
}
} else if (EXPECTED(Z_TYPE_P(op1) == IS_STRING)) {
if (EXPECTED(Z_TYPE_P(op2) == IS_STRING)) {
- if (Z_STR_P(op1) == Z_STR_P(op2)) {
- result = 0;
- } else if (Z_STRVAL_P(op1)[0] > '9' || Z_STRVAL_P(op2)[0] > '9') {
- if (Z_STRLEN_P(op1) != Z_STRLEN_P(op2)) {
- result = 1;
- } else {
- result = (memcmp(Z_STRVAL_P(op1), Z_STRVAL_P(op2), Z_STRLEN_P(op1)) != 0);
- }
- } else {
- result = (zendi_smart_strcmp(Z_STR_P(op1), Z_STR_P(op2)) != 0);
- }
+ result = !zend_fast_equal_strings(Z_STR_P(op1), Z_STR_P(op2));
zval_ptr_dtor_nogc(free_op2);
} else {
(EXPECTED(p->key == Z_STR_P(offset)) ||
(EXPECTED(p->h == ZSTR_H(Z_STR_P(offset))) &&
EXPECTED(p->key != NULL) &&
- EXPECTED(ZSTR_LEN(p->key) == Z_STRLEN_P(offset)) &&
- EXPECTED(memcmp(ZSTR_VAL(p->key), Z_STRVAL_P(offset), Z_STRLEN_P(offset)) == 0)))) {
+ EXPECTED(zend_string_equal_content(p->key, Z_STR_P(offset)))))) {
ZVAL_COPY_UNREF(EX_VAR(opline->result.var), &p->val);
break;
}
(EXPECTED(p->key == Z_STR_P(offset)) ||
(EXPECTED(p->h == ZSTR_H(Z_STR_P(offset))) &&
EXPECTED(p->key != NULL) &&
- EXPECTED(ZSTR_LEN(p->key) == Z_STRLEN_P(offset)) &&
- EXPECTED(memcmp(ZSTR_VAL(p->key), Z_STRVAL_P(offset), Z_STRLEN_P(offset)) == 0)))) {
+ EXPECTED(zend_string_equal_content(p->key, Z_STR_P(offset)))))) {
ZVAL_COPY(EX_VAR(opline->result.var), &p->val);
break;
}
}
} else if (EXPECTED(Z_TYPE_P(op1) == IS_STRING)) {
if (EXPECTED(Z_TYPE_P(op2) == IS_STRING)) {
- if (Z_STR_P(op1) == Z_STR_P(op2)) {
- result = 1;
- } else if (Z_STRVAL_P(op1)[0] > '9' || Z_STRVAL_P(op2)[0] > '9') {
- if (Z_STRLEN_P(op1) != Z_STRLEN_P(op2)) {
- result = 0;
- } else {
- result = (memcmp(Z_STRVAL_P(op1), Z_STRVAL_P(op2), Z_STRLEN_P(op1)) == 0);
- }
- } else {
- result = (zendi_smart_strcmp(Z_STR_P(op1), Z_STR_P(op2)) == 0);
- }
+ result = zend_fast_equal_strings(Z_STR_P(op1), Z_STR_P(op2));
zval_ptr_dtor_nogc(free_op2);
} else {
break;
(EXPECTED(p->key == Z_STR_P(offset)) ||
(EXPECTED(p->h == ZSTR_H(Z_STR_P(offset))) &&
EXPECTED(p->key != NULL) &&
- EXPECTED(ZSTR_LEN(p->key) == Z_STRLEN_P(offset)) &&
- EXPECTED(memcmp(ZSTR_VAL(p->key), Z_STRVAL_P(offset), Z_STRLEN_P(offset)) == 0)))) {
+ EXPECTED(zend_string_equal_content(p->key, Z_STR_P(offset)))))) {
ZVAL_COPY_UNREF(EX_VAR(opline->result.var), &p->val);
break;
}
(EXPECTED(p->key == Z_STR_P(offset)) ||
(EXPECTED(p->h == ZSTR_H(Z_STR_P(offset))) &&
EXPECTED(p->key != NULL) &&
- EXPECTED(ZSTR_LEN(p->key) == Z_STRLEN_P(offset)) &&
- EXPECTED(memcmp(ZSTR_VAL(p->key), Z_STRVAL_P(offset), Z_STRLEN_P(offset)) == 0)))) {
+ EXPECTED(zend_string_equal_content(p->key, Z_STR_P(offset)))))) {
ZVAL_COPY_UNREF(EX_VAR(opline->result.var), &p->val);
break;
}
(EXPECTED(p->key == Z_STR_P(offset)) ||
(EXPECTED(p->h == ZSTR_H(Z_STR_P(offset))) &&
EXPECTED(p->key != NULL) &&
- EXPECTED(ZSTR_LEN(p->key) == Z_STRLEN_P(offset)) &&
- EXPECTED(memcmp(ZSTR_VAL(p->key), Z_STRVAL_P(offset), Z_STRLEN_P(offset)) == 0)))) {
+ EXPECTED(zend_string_equal_content(p->key, Z_STR_P(offset)))))) {
ZVAL_COPY_UNREF(EX_VAR(opline->result.var), &p->val);
break;
}
(EXPECTED(p->key == Z_STR_P(offset)) ||
(EXPECTED(p->h == ZSTR_H(Z_STR_P(offset))) &&
EXPECTED(p->key != NULL) &&
- EXPECTED(ZSTR_LEN(p->key) == Z_STRLEN_P(offset)) &&
- EXPECTED(memcmp(ZSTR_VAL(p->key), Z_STRVAL_P(offset), Z_STRLEN_P(offset)) == 0)))) {
+ EXPECTED(zend_string_equal_content(p->key, Z_STR_P(offset)))))) {
ZVAL_COPY_UNREF(EX_VAR(opline->result.var), &p->val);
break;
}
(EXPECTED(p->key == Z_STR_P(offset)) ||
(EXPECTED(p->h == ZSTR_H(Z_STR_P(offset))) &&
EXPECTED(p->key != NULL) &&
- EXPECTED(ZSTR_LEN(p->key) == Z_STRLEN_P(offset)) &&
- EXPECTED(memcmp(ZSTR_VAL(p->key), Z_STRVAL_P(offset), Z_STRLEN_P(offset)) == 0)))) {
+ EXPECTED(zend_string_equal_content(p->key, Z_STR_P(offset)))))) {
ZVAL_COPY_UNREF(EX_VAR(opline->result.var), &p->val);
break;
}
(EXPECTED(p->key == Z_STR_P(offset)) ||
(EXPECTED(p->h == ZSTR_H(Z_STR_P(offset))) &&
EXPECTED(p->key != NULL) &&
- EXPECTED(ZSTR_LEN(p->key) == Z_STRLEN_P(offset)) &&
- EXPECTED(memcmp(ZSTR_VAL(p->key), Z_STRVAL_P(offset), Z_STRLEN_P(offset)) == 0)))) {
+ EXPECTED(zend_string_equal_content(p->key, Z_STR_P(offset)))))) {
ZVAL_COPY_UNREF(EX_VAR(opline->result.var), &p->val);
break;
}
(EXPECTED(p->key == Z_STR_P(offset)) ||
(EXPECTED(p->h == ZSTR_H(Z_STR_P(offset))) &&
EXPECTED(p->key != NULL) &&
- EXPECTED(ZSTR_LEN(p->key) == Z_STRLEN_P(offset)) &&
- EXPECTED(memcmp(ZSTR_VAL(p->key), Z_STRVAL_P(offset), Z_STRLEN_P(offset)) == 0)))) {
+ EXPECTED(zend_string_equal_content(p->key, Z_STR_P(offset)))))) {
ZVAL_COPY_UNREF(EX_VAR(opline->result.var), &p->val);
break;
}
(EXPECTED(p->key == Z_STR_P(offset)) ||
(EXPECTED(p->h == ZSTR_H(Z_STR_P(offset))) &&
EXPECTED(p->key != NULL) &&
- EXPECTED(ZSTR_LEN(p->key) == Z_STRLEN_P(offset)) &&
- EXPECTED(memcmp(ZSTR_VAL(p->key), Z_STRVAL_P(offset), Z_STRLEN_P(offset)) == 0)))) {
+ EXPECTED(zend_string_equal_content(p->key, Z_STR_P(offset)))))) {
ZVAL_COPY(EX_VAR(opline->result.var), &p->val);
break;
}
(EXPECTED(p->key == Z_STR_P(offset)) ||
(EXPECTED(p->h == ZSTR_H(Z_STR_P(offset))) &&
EXPECTED(p->key != NULL) &&
- EXPECTED(ZSTR_LEN(p->key) == Z_STRLEN_P(offset)) &&
- EXPECTED(memcmp(ZSTR_VAL(p->key), Z_STRVAL_P(offset), Z_STRLEN_P(offset)) == 0)))) {
+ EXPECTED(zend_string_equal_content(p->key, Z_STR_P(offset)))))) {
ZVAL_COPY_UNREF(EX_VAR(opline->result.var), &p->val);
break;
}
(EXPECTED(p->key == Z_STR_P(offset)) ||
(EXPECTED(p->h == ZSTR_H(Z_STR_P(offset))) &&
EXPECTED(p->key != NULL) &&
- EXPECTED(ZSTR_LEN(p->key) == Z_STRLEN_P(offset)) &&
- EXPECTED(memcmp(ZSTR_VAL(p->key), Z_STRVAL_P(offset), Z_STRLEN_P(offset)) == 0)))) {
+ EXPECTED(zend_string_equal_content(p->key, Z_STR_P(offset)))))) {
ZVAL_COPY(EX_VAR(opline->result.var), &p->val);
break;
}
(EXPECTED(p->key == Z_STR_P(offset)) ||
(EXPECTED(p->h == ZSTR_H(Z_STR_P(offset))) &&
EXPECTED(p->key != NULL) &&
- EXPECTED(ZSTR_LEN(p->key) == Z_STRLEN_P(offset)) &&
- EXPECTED(memcmp(ZSTR_VAL(p->key), Z_STRVAL_P(offset), Z_STRLEN_P(offset)) == 0)))) {
+ EXPECTED(zend_string_equal_content(p->key, Z_STR_P(offset)))))) {
ZVAL_COPY_UNREF(EX_VAR(opline->result.var), &p->val);
break;
}
(EXPECTED(p->key == Z_STR_P(offset)) ||
(EXPECTED(p->h == ZSTR_H(Z_STR_P(offset))) &&
EXPECTED(p->key != NULL) &&
- EXPECTED(ZSTR_LEN(p->key) == Z_STRLEN_P(offset)) &&
- EXPECTED(memcmp(ZSTR_VAL(p->key), Z_STRVAL_P(offset), Z_STRLEN_P(offset)) == 0)))) {
+ EXPECTED(zend_string_equal_content(p->key, Z_STR_P(offset)))))) {
ZVAL_COPY(EX_VAR(opline->result.var), &p->val);
break;
}
}
} else if (EXPECTED(Z_TYPE_P(op1) == IS_STRING)) {
if (EXPECTED(Z_TYPE_P(op2) == IS_STRING)) {
- if (Z_STR_P(op1) == Z_STR_P(op2)) {
- result = 1;
- } else if (Z_STRVAL_P(op1)[0] > '9' || Z_STRVAL_P(op2)[0] > '9') {
- if (Z_STRLEN_P(op1) != Z_STRLEN_P(op2)) {
- result = 0;
- } else {
- result = (memcmp(Z_STRVAL_P(op1), Z_STRVAL_P(op2), Z_STRLEN_P(op1)) == 0);
- }
- } else {
- result = (zendi_smart_strcmp(Z_STR_P(op1), Z_STR_P(op2)) == 0);
- }
+ result = zend_fast_equal_strings(Z_STR_P(op1), Z_STR_P(op2));
} else {
}
} else if (EXPECTED(Z_TYPE_P(op1) == IS_STRING)) {
if (EXPECTED(Z_TYPE_P(op2) == IS_STRING)) {
- if (Z_STR_P(op1) == Z_STR_P(op2)) {
- result = 0;
- } else if (Z_STRVAL_P(op1)[0] > '9' || Z_STRVAL_P(op2)[0] > '9') {
- if (Z_STRLEN_P(op1) != Z_STRLEN_P(op2)) {
- result = 1;
- } else {
- result = (memcmp(Z_STRVAL_P(op1), Z_STRVAL_P(op2), Z_STRLEN_P(op1)) != 0);
- }
- } else {
- result = (zendi_smart_strcmp(Z_STR_P(op1), Z_STR_P(op2)) != 0);
- }
+ result = !zend_fast_equal_strings(Z_STR_P(op1), Z_STR_P(op2));
} else {
(EXPECTED(p->key == Z_STR_P(offset)) ||
(EXPECTED(p->h == ZSTR_H(Z_STR_P(offset))) &&
EXPECTED(p->key != NULL) &&
- EXPECTED(ZSTR_LEN(p->key) == Z_STRLEN_P(offset)) &&
- EXPECTED(memcmp(ZSTR_VAL(p->key), Z_STRVAL_P(offset), Z_STRLEN_P(offset)) == 0)))) {
+ EXPECTED(zend_string_equal_content(p->key, Z_STR_P(offset)))))) {
ZVAL_COPY_UNREF(EX_VAR(opline->result.var), &p->val);
break;
}
(EXPECTED(p->key == Z_STR_P(offset)) ||
(EXPECTED(p->h == ZSTR_H(Z_STR_P(offset))) &&
EXPECTED(p->key != NULL) &&
- EXPECTED(ZSTR_LEN(p->key) == Z_STRLEN_P(offset)) &&
- EXPECTED(memcmp(ZSTR_VAL(p->key), Z_STRVAL_P(offset), Z_STRLEN_P(offset)) == 0)))) {
+ EXPECTED(zend_string_equal_content(p->key, Z_STR_P(offset)))))) {
ZVAL_COPY(EX_VAR(opline->result.var), &p->val);
break;
}
}
} else if (EXPECTED(Z_TYPE_P(op1) == IS_STRING)) {
if (EXPECTED(Z_TYPE_P(op2) == IS_STRING)) {
- if (Z_STR_P(op1) == Z_STR_P(op2)) {
- result = 1;
- } else if (Z_STRVAL_P(op1)[0] > '9' || Z_STRVAL_P(op2)[0] > '9') {
- if (Z_STRLEN_P(op1) != Z_STRLEN_P(op2)) {
- result = 0;
- } else {
- result = (memcmp(Z_STRVAL_P(op1), Z_STRVAL_P(op2), Z_STRLEN_P(op1)) == 0);
- }
- } else {
- result = (zendi_smart_strcmp(Z_STR_P(op1), Z_STR_P(op2)) == 0);
- }
+ result = zend_fast_equal_strings(Z_STR_P(op1), Z_STR_P(op2));
} else {
break;
(EXPECTED(p->key == Z_STR_P(varname)) ||
(EXPECTED(p->h == ZSTR_H(Z_STR_P(varname))) &&
EXPECTED(p->key != NULL) &&
- EXPECTED(ZSTR_LEN(p->key) == Z_STRLEN_P(varname)) &&
- EXPECTED(memcmp(ZSTR_VAL(p->key), Z_STRVAL_P(varname), Z_STRLEN_P(varname)) == 0)))) {
+ EXPECTED(zend_string_equal_content(p->key, Z_STR_P(varname)))))) {
value = (zval*)p; /* value = &p->val; */
goto check_indirect;
}
} else if (EXPECTED(Z_TYPE_P(op1) == IS_STRING)) {
if (EXPECTED(Z_TYPE_P(op2) == IS_STRING)) {
- if (Z_STR_P(op1) == Z_STR_P(op2)) {
- result = 1;
- } else if (Z_STRVAL_P(op1)[0] > '9' || Z_STRVAL_P(op2)[0] > '9') {
- if (Z_STRLEN_P(op1) != Z_STRLEN_P(op2)) {
- result = 0;
- } else {
- result = (memcmp(Z_STRVAL_P(op1), Z_STRVAL_P(op2), Z_STRLEN_P(op1)) == 0);
- }
- } else {
- result = (zendi_smart_strcmp(Z_STR_P(op1), Z_STR_P(op2)) == 0);
- }
+ result = zend_fast_equal_strings(Z_STR_P(op1), Z_STR_P(op2));
} else {
}
} else if (EXPECTED(Z_TYPE_P(op1) == IS_STRING)) {
if (EXPECTED(Z_TYPE_P(op2) == IS_STRING)) {
- if (Z_STR_P(op1) == Z_STR_P(op2)) {
- result = 0;
- } else if (Z_STRVAL_P(op1)[0] > '9' || Z_STRVAL_P(op2)[0] > '9') {
- if (Z_STRLEN_P(op1) != Z_STRLEN_P(op2)) {
- result = 1;
- } else {
- result = (memcmp(Z_STRVAL_P(op1), Z_STRVAL_P(op2), Z_STRLEN_P(op1)) != 0);
- }
- } else {
- result = (zendi_smart_strcmp(Z_STR_P(op1), Z_STR_P(op2)) != 0);
- }
+ result = !zend_fast_equal_strings(Z_STR_P(op1), Z_STR_P(op2));
} else {
(EXPECTED(p->key == Z_STR_P(offset)) ||
(EXPECTED(p->h == ZSTR_H(Z_STR_P(offset))) &&
EXPECTED(p->key != NULL) &&
- EXPECTED(ZSTR_LEN(p->key) == Z_STRLEN_P(offset)) &&
- EXPECTED(memcmp(ZSTR_VAL(p->key), Z_STRVAL_P(offset), Z_STRLEN_P(offset)) == 0)))) {
+ EXPECTED(zend_string_equal_content(p->key, Z_STR_P(offset)))))) {
ZVAL_COPY_UNREF(EX_VAR(opline->result.var), &p->val);
break;
}
(EXPECTED(p->key == Z_STR_P(offset)) ||
(EXPECTED(p->h == ZSTR_H(Z_STR_P(offset))) &&
EXPECTED(p->key != NULL) &&
- EXPECTED(ZSTR_LEN(p->key) == Z_STRLEN_P(offset)) &&
- EXPECTED(memcmp(ZSTR_VAL(p->key), Z_STRVAL_P(offset), Z_STRLEN_P(offset)) == 0)))) {
+ EXPECTED(zend_string_equal_content(p->key, Z_STR_P(offset)))))) {
ZVAL_COPY(EX_VAR(opline->result.var), &p->val);
break;
}
}
} else if (EXPECTED(Z_TYPE_P(op1) == IS_STRING)) {
if (EXPECTED(Z_TYPE_P(op2) == IS_STRING)) {
- if (Z_STR_P(op1) == Z_STR_P(op2)) {
- result = 1;
- } else if (Z_STRVAL_P(op1)[0] > '9' || Z_STRVAL_P(op2)[0] > '9') {
- if (Z_STRLEN_P(op1) != Z_STRLEN_P(op2)) {
- result = 0;
- } else {
- result = (memcmp(Z_STRVAL_P(op1), Z_STRVAL_P(op2), Z_STRLEN_P(op1)) == 0);
- }
- } else {
- result = (zendi_smart_strcmp(Z_STR_P(op1), Z_STR_P(op2)) == 0);
- }
+ result = zend_fast_equal_strings(Z_STR_P(op1), Z_STR_P(op2));
} else {
break;
}
} else if (EXPECTED(Z_TYPE_P(op1) == IS_STRING)) {
if (EXPECTED(Z_TYPE_P(op2) == IS_STRING)) {
- if (Z_STR_P(op1) == Z_STR_P(op2)) {
- result = 1;
- } else if (Z_STRVAL_P(op1)[0] > '9' || Z_STRVAL_P(op2)[0] > '9') {
- if (Z_STRLEN_P(op1) != Z_STRLEN_P(op2)) {
- result = 0;
- } else {
- result = (memcmp(Z_STRVAL_P(op1), Z_STRVAL_P(op2), Z_STRLEN_P(op1)) == 0);
- }
- } else {
- result = (zendi_smart_strcmp(Z_STR_P(op1), Z_STR_P(op2)) == 0);
- }
+ result = zend_fast_equal_strings(Z_STR_P(op1), Z_STR_P(op2));
zval_ptr_dtor_nogc(free_op2);
} else {
}
} else if (EXPECTED(Z_TYPE_P(op1) == IS_STRING)) {
if (EXPECTED(Z_TYPE_P(op2) == IS_STRING)) {
- if (Z_STR_P(op1) == Z_STR_P(op2)) {
- result = 0;
- } else if (Z_STRVAL_P(op1)[0] > '9' || Z_STRVAL_P(op2)[0] > '9') {
- if (Z_STRLEN_P(op1) != Z_STRLEN_P(op2)) {
- result = 1;
- } else {
- result = (memcmp(Z_STRVAL_P(op1), Z_STRVAL_P(op2), Z_STRLEN_P(op1)) != 0);
- }
- } else {
- result = (zendi_smart_strcmp(Z_STR_P(op1), Z_STR_P(op2)) != 0);
- }
+ result = !zend_fast_equal_strings(Z_STR_P(op1), Z_STR_P(op2));
zval_ptr_dtor_nogc(free_op2);
} else {
(EXPECTED(p->key == Z_STR_P(offset)) ||
(EXPECTED(p->h == ZSTR_H(Z_STR_P(offset))) &&
EXPECTED(p->key != NULL) &&
- EXPECTED(ZSTR_LEN(p->key) == Z_STRLEN_P(offset)) &&
- EXPECTED(memcmp(ZSTR_VAL(p->key), Z_STRVAL_P(offset), Z_STRLEN_P(offset)) == 0)))) {
+ EXPECTED(zend_string_equal_content(p->key, Z_STR_P(offset)))))) {
ZVAL_COPY_UNREF(EX_VAR(opline->result.var), &p->val);
break;
}
(EXPECTED(p->key == Z_STR_P(offset)) ||
(EXPECTED(p->h == ZSTR_H(Z_STR_P(offset))) &&
EXPECTED(p->key != NULL) &&
- EXPECTED(ZSTR_LEN(p->key) == Z_STRLEN_P(offset)) &&
- EXPECTED(memcmp(ZSTR_VAL(p->key), Z_STRVAL_P(offset), Z_STRLEN_P(offset)) == 0)))) {
+ EXPECTED(zend_string_equal_content(p->key, Z_STR_P(offset)))))) {
ZVAL_COPY(EX_VAR(opline->result.var), &p->val);
break;
}
}
} else if (EXPECTED(Z_TYPE_P(op1) == IS_STRING)) {
if (EXPECTED(Z_TYPE_P(op2) == IS_STRING)) {
- if (Z_STR_P(op1) == Z_STR_P(op2)) {
- result = 1;
- } else if (Z_STRVAL_P(op1)[0] > '9' || Z_STRVAL_P(op2)[0] > '9') {
- if (Z_STRLEN_P(op1) != Z_STRLEN_P(op2)) {
- result = 0;
- } else {
- result = (memcmp(Z_STRVAL_P(op1), Z_STRVAL_P(op2), Z_STRLEN_P(op1)) == 0);
- }
- } else {
- result = (zendi_smart_strcmp(Z_STR_P(op1), Z_STR_P(op2)) == 0);
- }
+ result = zend_fast_equal_strings(Z_STR_P(op1), Z_STR_P(op2));
zval_ptr_dtor_nogc(free_op2);
} else {
break;
}
} else if (EXPECTED(Z_TYPE_P(op1) == IS_STRING)) {
if (EXPECTED(Z_TYPE_P(op2) == IS_STRING)) {
- if (Z_STR_P(op1) == Z_STR_P(op2)) {
- result = 1;
- } else if (Z_STRVAL_P(op1)[0] > '9' || Z_STRVAL_P(op2)[0] > '9') {
- if (Z_STRLEN_P(op1) != Z_STRLEN_P(op2)) {
- result = 0;
- } else {
- result = (memcmp(Z_STRVAL_P(op1), Z_STRVAL_P(op2), Z_STRLEN_P(op1)) == 0);
- }
- } else {
- result = (zendi_smart_strcmp(Z_STR_P(op1), Z_STR_P(op2)) == 0);
- }
+ result = zend_fast_equal_strings(Z_STR_P(op1), Z_STR_P(op2));
zval_ptr_dtor_nogc(free_op1);
} else {
}
} else if (EXPECTED(Z_TYPE_P(op1) == IS_STRING)) {
if (EXPECTED(Z_TYPE_P(op2) == IS_STRING)) {
- if (Z_STR_P(op1) == Z_STR_P(op2)) {
- result = 0;
- } else if (Z_STRVAL_P(op1)[0] > '9' || Z_STRVAL_P(op2)[0] > '9') {
- if (Z_STRLEN_P(op1) != Z_STRLEN_P(op2)) {
- result = 1;
- } else {
- result = (memcmp(Z_STRVAL_P(op1), Z_STRVAL_P(op2), Z_STRLEN_P(op1)) != 0);
- }
- } else {
- result = (zendi_smart_strcmp(Z_STR_P(op1), Z_STR_P(op2)) != 0);
- }
+ result = !zend_fast_equal_strings(Z_STR_P(op1), Z_STR_P(op2));
zval_ptr_dtor_nogc(free_op1);
} else {
(EXPECTED(p->key == Z_STR_P(offset)) ||
(EXPECTED(p->h == ZSTR_H(Z_STR_P(offset))) &&
EXPECTED(p->key != NULL) &&
- EXPECTED(ZSTR_LEN(p->key) == Z_STRLEN_P(offset)) &&
- EXPECTED(memcmp(ZSTR_VAL(p->key), Z_STRVAL_P(offset), Z_STRLEN_P(offset)) == 0)))) {
+ EXPECTED(zend_string_equal_content(p->key, Z_STR_P(offset)))))) {
ZVAL_COPY(EX_VAR(opline->result.var), &p->val);
break;
}
}
} else if (EXPECTED(Z_TYPE_P(op1) == IS_STRING)) {
if (EXPECTED(Z_TYPE_P(op2) == IS_STRING)) {
- if (Z_STR_P(op1) == Z_STR_P(op2)) {
- result = 1;
- } else if (Z_STRVAL_P(op1)[0] > '9' || Z_STRVAL_P(op2)[0] > '9') {
- if (Z_STRLEN_P(op1) != Z_STRLEN_P(op2)) {
- result = 0;
- } else {
- result = (memcmp(Z_STRVAL_P(op1), Z_STRVAL_P(op2), Z_STRLEN_P(op1)) == 0);
- }
- } else {
- result = (zendi_smart_strcmp(Z_STR_P(op1), Z_STR_P(op2)) == 0);
- }
+ result = zend_fast_equal_strings(Z_STR_P(op1), Z_STR_P(op2));
} else {
break;
}
} else if (EXPECTED(Z_TYPE_P(op1) == IS_STRING)) {
if (EXPECTED(Z_TYPE_P(op2) == IS_STRING)) {
- if (Z_STR_P(op1) == Z_STR_P(op2)) {
- result = 1;
- } else if (Z_STRVAL_P(op1)[0] > '9' || Z_STRVAL_P(op2)[0] > '9') {
- if (Z_STRLEN_P(op1) != Z_STRLEN_P(op2)) {
- result = 0;
- } else {
- result = (memcmp(Z_STRVAL_P(op1), Z_STRVAL_P(op2), Z_STRLEN_P(op1)) == 0);
- }
- } else {
- result = (zendi_smart_strcmp(Z_STR_P(op1), Z_STR_P(op2)) == 0);
- }
+ result = zend_fast_equal_strings(Z_STR_P(op1), Z_STR_P(op2));
zval_ptr_dtor_nogc(free_op1);
} else {
}
} else if (EXPECTED(Z_TYPE_P(op1) == IS_STRING)) {
if (EXPECTED(Z_TYPE_P(op2) == IS_STRING)) {
- if (Z_STR_P(op1) == Z_STR_P(op2)) {
- result = 0;
- } else if (Z_STRVAL_P(op1)[0] > '9' || Z_STRVAL_P(op2)[0] > '9') {
- if (Z_STRLEN_P(op1) != Z_STRLEN_P(op2)) {
- result = 1;
- } else {
- result = (memcmp(Z_STRVAL_P(op1), Z_STRVAL_P(op2), Z_STRLEN_P(op1)) != 0);
- }
- } else {
- result = (zendi_smart_strcmp(Z_STR_P(op1), Z_STR_P(op2)) != 0);
- }
+ result = !zend_fast_equal_strings(Z_STR_P(op1), Z_STR_P(op2));
zval_ptr_dtor_nogc(free_op1);
} else {
(EXPECTED(p->key == Z_STR_P(offset)) ||
(EXPECTED(p->h == ZSTR_H(Z_STR_P(offset))) &&
EXPECTED(p->key != NULL) &&
- EXPECTED(ZSTR_LEN(p->key) == Z_STRLEN_P(offset)) &&
- EXPECTED(memcmp(ZSTR_VAL(p->key), Z_STRVAL_P(offset), Z_STRLEN_P(offset)) == 0)))) {
+ EXPECTED(zend_string_equal_content(p->key, Z_STR_P(offset)))))) {
ZVAL_COPY(EX_VAR(opline->result.var), &p->val);
break;
}
}
} else if (EXPECTED(Z_TYPE_P(op1) == IS_STRING)) {
if (EXPECTED(Z_TYPE_P(op2) == IS_STRING)) {
- if (Z_STR_P(op1) == Z_STR_P(op2)) {
- result = 1;
- } else if (Z_STRVAL_P(op1)[0] > '9' || Z_STRVAL_P(op2)[0] > '9') {
- if (Z_STRLEN_P(op1) != Z_STRLEN_P(op2)) {
- result = 0;
- } else {
- result = (memcmp(Z_STRVAL_P(op1), Z_STRVAL_P(op2), Z_STRLEN_P(op1)) == 0);
- }
- } else {
- result = (zendi_smart_strcmp(Z_STR_P(op1), Z_STR_P(op2)) == 0);
- }
+ result = zend_fast_equal_strings(Z_STR_P(op1), Z_STR_P(op2));
} else {
break;
}
} else if (EXPECTED(Z_TYPE_P(op1) == IS_STRING)) {
if (EXPECTED(Z_TYPE_P(op2) == IS_STRING)) {
- if (Z_STR_P(op1) == Z_STR_P(op2)) {
- result = 1;
- } else if (Z_STRVAL_P(op1)[0] > '9' || Z_STRVAL_P(op2)[0] > '9') {
- if (Z_STRLEN_P(op1) != Z_STRLEN_P(op2)) {
- result = 0;
- } else {
- result = (memcmp(Z_STRVAL_P(op1), Z_STRVAL_P(op2), Z_STRLEN_P(op1)) == 0);
- }
- } else {
- result = (zendi_smart_strcmp(Z_STR_P(op1), Z_STR_P(op2)) == 0);
- }
+ result = zend_fast_equal_strings(Z_STR_P(op1), Z_STR_P(op2));
zval_ptr_dtor_nogc(free_op1);
zval_ptr_dtor_nogc(free_op2);
} else {
}
} else if (EXPECTED(Z_TYPE_P(op1) == IS_STRING)) {
if (EXPECTED(Z_TYPE_P(op2) == IS_STRING)) {
- if (Z_STR_P(op1) == Z_STR_P(op2)) {
- result = 0;
- } else if (Z_STRVAL_P(op1)[0] > '9' || Z_STRVAL_P(op2)[0] > '9') {
- if (Z_STRLEN_P(op1) != Z_STRLEN_P(op2)) {
- result = 1;
- } else {
- result = (memcmp(Z_STRVAL_P(op1), Z_STRVAL_P(op2), Z_STRLEN_P(op1)) != 0);
- }
- } else {
- result = (zendi_smart_strcmp(Z_STR_P(op1), Z_STR_P(op2)) != 0);
- }
+ result = !zend_fast_equal_strings(Z_STR_P(op1), Z_STR_P(op2));
zval_ptr_dtor_nogc(free_op1);
zval_ptr_dtor_nogc(free_op2);
} else {
(EXPECTED(p->key == Z_STR_P(offset)) ||
(EXPECTED(p->h == ZSTR_H(Z_STR_P(offset))) &&
EXPECTED(p->key != NULL) &&
- EXPECTED(ZSTR_LEN(p->key) == Z_STRLEN_P(offset)) &&
- EXPECTED(memcmp(ZSTR_VAL(p->key), Z_STRVAL_P(offset), Z_STRLEN_P(offset)) == 0)))) {
+ EXPECTED(zend_string_equal_content(p->key, Z_STR_P(offset)))))) {
ZVAL_COPY(EX_VAR(opline->result.var), &p->val);
break;
}
}
} else if (EXPECTED(Z_TYPE_P(op1) == IS_STRING)) {
if (EXPECTED(Z_TYPE_P(op2) == IS_STRING)) {
- if (Z_STR_P(op1) == Z_STR_P(op2)) {
- result = 1;
- } else if (Z_STRVAL_P(op1)[0] > '9' || Z_STRVAL_P(op2)[0] > '9') {
- if (Z_STRLEN_P(op1) != Z_STRLEN_P(op2)) {
- result = 0;
- } else {
- result = (memcmp(Z_STRVAL_P(op1), Z_STRVAL_P(op2), Z_STRLEN_P(op1)) == 0);
- }
- } else {
- result = (zendi_smart_strcmp(Z_STR_P(op1), Z_STR_P(op2)) == 0);
- }
+ result = zend_fast_equal_strings(Z_STR_P(op1), Z_STR_P(op2));
zval_ptr_dtor_nogc(free_op2);
} else {
break;