mirror of
https://github.com/php/php-src.git
synced 2025-08-15 21:48:51 +02:00
se zval_ptr_dtor_str() instead of zend_string_release_ex(Z_STR(*), 0)
This commit is contained in:
parent
5f19816f53
commit
af341213f7
12 changed files with 38 additions and 38 deletions
|
@ -3169,7 +3169,7 @@ static zend_never_inline zend_op_array* ZEND_FASTCALL zend_include_or_eval(zval
|
|||
zend_destroy_file_handle(&file_handle);
|
||||
zend_string_release_ex(resolved_path, 0);
|
||||
if (Z_TYPE(tmp_inc_filename) != IS_UNDEF) {
|
||||
zend_string_release_ex(Z_STR(tmp_inc_filename), 0);
|
||||
zval_ptr_dtor_str(&tmp_inc_filename);
|
||||
}
|
||||
return op_array;
|
||||
} else {
|
||||
|
@ -3207,7 +3207,7 @@ already_compiled:
|
|||
}
|
||||
|
||||
if (Z_TYPE(tmp_inc_filename) != IS_UNDEF) {
|
||||
zend_string_release_ex(Z_STR(tmp_inc_filename), 0);
|
||||
zval_ptr_dtor_str(&tmp_inc_filename);
|
||||
}
|
||||
return new_op_array;
|
||||
}
|
||||
|
|
|
@ -156,7 +156,7 @@ ZEND_API void zend_highlight(zend_syntax_highlighter_ini *syntax_highlighter_ini
|
|||
case T_DOC_COMMENT:
|
||||
break;
|
||||
default:
|
||||
zend_string_release_ex(Z_STR(token), 0);
|
||||
zval_ptr_dtor_str(&token);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
@ -219,7 +219,7 @@ ZEND_API void zend_strip(void)
|
|||
break;
|
||||
|
||||
default:
|
||||
zend_string_release_ex(Z_STR(token), 0);
|
||||
zval_ptr_dtor_str(&token);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -572,7 +572,7 @@ ZEND_API uint32_t *zend_get_property_guard(zend_object *zobj, zend_string *membe
|
|||
EXPECTED(zend_string_equal_content(str, member)))) {
|
||||
return &Z_PROPERTY_GUARD_P(zv);
|
||||
} else if (EXPECTED(Z_PROPERTY_GUARD_P(zv) == 0)) {
|
||||
zend_string_release_ex(Z_STR_P(zv), 0);
|
||||
zval_ptr_dtor_str(zv);
|
||||
ZVAL_STR_COPY(zv, member);
|
||||
return &Z_PROPERTY_GUARD_P(zv);
|
||||
} else {
|
||||
|
@ -581,7 +581,7 @@ ZEND_API uint32_t *zend_get_property_guard(zend_object *zobj, zend_string *membe
|
|||
/* mark pointer as "special" using low bit */
|
||||
zend_hash_add_new_ptr(guards, str,
|
||||
(void*)(((zend_uintptr_t)&Z_PROPERTY_GUARD_P(zv)) | 1));
|
||||
zend_string_release_ex(Z_STR_P(zv), 0);
|
||||
zval_ptr_dtor_str(zv);
|
||||
ZVAL_ARR(zv, guards);
|
||||
}
|
||||
} else if (EXPECTED(Z_TYPE_P(zv) == IS_ARRAY)) {
|
||||
|
|
|
@ -60,7 +60,7 @@ ZEND_API void zend_object_std_dtor(zend_object *object)
|
|||
}
|
||||
if (UNEXPECTED(object->ce->ce_flags & ZEND_ACC_USE_GUARDS)) {
|
||||
if (EXPECTED(Z_TYPE_P(p) == IS_STRING)) {
|
||||
zend_string_release_ex(Z_STR_P(p), 0);
|
||||
zval_ptr_dtor_str(p);
|
||||
} else if (Z_TYPE_P(p) == IS_ARRAY) {
|
||||
HashTable *guards;
|
||||
|
||||
|
|
|
@ -1455,7 +1455,7 @@ ZEND_API int ZEND_FASTCALL bitwise_or_function(zval *result, zval *op1, zval *op
|
|||
if (EXPECTED(Z_STRLEN_P(op1) == Z_STRLEN_P(op2)) && Z_STRLEN_P(op1) == 1) {
|
||||
zend_uchar or = (zend_uchar) (*Z_STRVAL_P(op1) | *Z_STRVAL_P(op2));
|
||||
if (result==op1) {
|
||||
zend_string_release_ex(Z_STR_P(result), 0);
|
||||
zval_ptr_dtor_str(result);
|
||||
}
|
||||
ZVAL_INTERNED_STR(result, ZSTR_CHAR(or));
|
||||
return SUCCESS;
|
||||
|
@ -1473,7 +1473,7 @@ ZEND_API int ZEND_FASTCALL bitwise_or_function(zval *result, zval *op1, zval *op
|
|||
}
|
||||
memcpy(ZSTR_VAL(str) + i, Z_STRVAL_P(longer) + i, Z_STRLEN_P(longer) - i + 1);
|
||||
if (result==op1) {
|
||||
zend_string_release_ex(Z_STR_P(result), 0);
|
||||
zval_ptr_dtor_str(result);
|
||||
}
|
||||
ZVAL_NEW_STR(result, str);
|
||||
return SUCCESS;
|
||||
|
@ -1533,7 +1533,7 @@ ZEND_API int ZEND_FASTCALL bitwise_and_function(zval *result, zval *op1, zval *o
|
|||
if (EXPECTED(Z_STRLEN_P(op1) == Z_STRLEN_P(op2)) && Z_STRLEN_P(op1) == 1) {
|
||||
zend_uchar and = (zend_uchar) (*Z_STRVAL_P(op1) & *Z_STRVAL_P(op2));
|
||||
if (result==op1) {
|
||||
zend_string_release_ex(Z_STR_P(result), 0);
|
||||
zval_ptr_dtor_str(result);
|
||||
}
|
||||
ZVAL_INTERNED_STR(result, ZSTR_CHAR(and));
|
||||
return SUCCESS;
|
||||
|
@ -1551,7 +1551,7 @@ ZEND_API int ZEND_FASTCALL bitwise_and_function(zval *result, zval *op1, zval *o
|
|||
}
|
||||
ZSTR_VAL(str)[i] = 0;
|
||||
if (result==op1) {
|
||||
zend_string_release_ex(Z_STR_P(result), 0);
|
||||
zval_ptr_dtor_str(result);
|
||||
}
|
||||
ZVAL_NEW_STR(result, str);
|
||||
return SUCCESS;
|
||||
|
@ -1611,7 +1611,7 @@ ZEND_API int ZEND_FASTCALL bitwise_xor_function(zval *result, zval *op1, zval *o
|
|||
if (EXPECTED(Z_STRLEN_P(op1) == Z_STRLEN_P(op2)) && Z_STRLEN_P(op1) == 1) {
|
||||
zend_uchar xor = (zend_uchar) (*Z_STRVAL_P(op1) ^ *Z_STRVAL_P(op2));
|
||||
if (result==op1) {
|
||||
zend_string_release_ex(Z_STR_P(result), 0);
|
||||
zval_ptr_dtor_str(result);
|
||||
}
|
||||
ZVAL_INTERNED_STR(result, ZSTR_CHAR(xor));
|
||||
return SUCCESS;
|
||||
|
@ -1629,7 +1629,7 @@ ZEND_API int ZEND_FASTCALL bitwise_xor_function(zval *result, zval *op1, zval *o
|
|||
}
|
||||
ZSTR_VAL(str)[i] = 0;
|
||||
if (result==op1) {
|
||||
zend_string_release_ex(Z_STR_P(result), 0);
|
||||
zval_ptr_dtor_str(result);
|
||||
}
|
||||
ZVAL_NEW_STR(result, str);
|
||||
return SUCCESS;
|
||||
|
@ -2332,7 +2332,7 @@ static void ZEND_FASTCALL increment_string(zval *str) /* {{{ */
|
|||
int ch;
|
||||
|
||||
if (Z_STRLEN_P(str) == 0) {
|
||||
zend_string_release_ex(Z_STR_P(str), 0);
|
||||
zval_ptr_dtor_str(str);
|
||||
ZVAL_INTERNED_STR(str, ZSTR_CHAR('1'));
|
||||
return;
|
||||
}
|
||||
|
@ -2426,7 +2426,7 @@ try_again:
|
|||
|
||||
switch (is_numeric_string(Z_STRVAL_P(op1), Z_STRLEN_P(op1), &lval, &dval, 0)) {
|
||||
case IS_LONG:
|
||||
zend_string_release_ex(Z_STR_P(op1), 0);
|
||||
zval_ptr_dtor_str(op1);
|
||||
if (lval == ZEND_LONG_MAX) {
|
||||
/* switch to double */
|
||||
double d = (double)lval;
|
||||
|
@ -2436,7 +2436,7 @@ try_again:
|
|||
}
|
||||
break;
|
||||
case IS_DOUBLE:
|
||||
zend_string_release_ex(Z_STR_P(op1), 0);
|
||||
zval_ptr_dtor_str(op1);
|
||||
ZVAL_DOUBLE(op1, dval+1);
|
||||
break;
|
||||
default:
|
||||
|
@ -2493,13 +2493,13 @@ try_again:
|
|||
break;
|
||||
case IS_STRING: /* Like perl we only support string increment */
|
||||
if (Z_STRLEN_P(op1) == 0) { /* consider as 0 */
|
||||
zend_string_release_ex(Z_STR_P(op1), 0);
|
||||
zval_ptr_dtor_str(op1);
|
||||
ZVAL_LONG(op1, -1);
|
||||
break;
|
||||
}
|
||||
switch (is_numeric_string(Z_STRVAL_P(op1), Z_STRLEN_P(op1), &lval, &dval, 0)) {
|
||||
case IS_LONG:
|
||||
zend_string_release_ex(Z_STR_P(op1), 0);
|
||||
zval_ptr_dtor_str(op1);
|
||||
if (lval == ZEND_LONG_MIN) {
|
||||
double d = (double)lval;
|
||||
ZVAL_DOUBLE(op1, d-1);
|
||||
|
@ -2508,7 +2508,7 @@ try_again:
|
|||
}
|
||||
break;
|
||||
case IS_DOUBLE:
|
||||
zend_string_release_ex(Z_STR_P(op1), 0);
|
||||
zval_ptr_dtor_str(op1);
|
||||
ZVAL_DOUBLE(op1, dval - 1);
|
||||
break;
|
||||
}
|
||||
|
|
|
@ -4525,7 +4525,7 @@ ZEND_VM_C_LABEL(send_again):
|
|||
ZEND_ASSERT(Z_TYPE(key) == IS_STRING);
|
||||
zend_throw_error(NULL,
|
||||
"Cannot unpack Traversable with string keys");
|
||||
zend_string_release_ex(Z_STR(key), 0);
|
||||
zval_ptr_dtor_str(&key);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1362,7 +1362,7 @@ send_again:
|
|||
ZEND_ASSERT(Z_TYPE(key) == IS_STRING);
|
||||
zend_throw_error(NULL,
|
||||
"Cannot unpack Traversable with string keys");
|
||||
zend_string_release_ex(Z_STR(key), 0);
|
||||
zval_ptr_dtor_str(&key);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -704,7 +704,7 @@ static void zend_optimize_block(zend_basic_block *block, zend_op_array *op_array
|
|||
Z_TYPE_INFO(ZEND_OP2_LITERAL(src)) = IS_STRING_EX;
|
||||
memcpy(Z_STRVAL(ZEND_OP2_LITERAL(src)) + old_len, Z_STRVAL(ZEND_OP2_LITERAL(opline)), Z_STRLEN(ZEND_OP2_LITERAL(opline)));
|
||||
Z_STRVAL(ZEND_OP2_LITERAL(src))[l] = '\0';
|
||||
zend_string_release_ex(Z_STR(ZEND_OP2_LITERAL(opline)), 0);
|
||||
zval_ptr_dtor_str(&ZEND_OP2_LITERAL(opline));
|
||||
ZVAL_STR(&ZEND_OP2_LITERAL(opline), zend_new_interned_string(Z_STR(ZEND_OP2_LITERAL(src))));
|
||||
ZVAL_NULL(&ZEND_OP2_LITERAL(src));
|
||||
MAKE_NOP(src);
|
||||
|
|
|
@ -1446,7 +1446,7 @@ PHPAPI int php_session_reset_id(void) /* {{{ */
|
|||
smart_str_appends(&var, ZSTR_VAL(PS(id)));
|
||||
smart_str_0(&var);
|
||||
if (sid) {
|
||||
zend_string_release_ex(Z_STR_P(sid), 0);
|
||||
zval_ptr_dtor_str(sid);
|
||||
ZVAL_NEW_STR(sid, var.s);
|
||||
} else {
|
||||
REGISTER_STRINGL_CONSTANT("SID", ZSTR_VAL(var.s), ZSTR_LEN(var.s), 0);
|
||||
|
@ -1454,7 +1454,7 @@ PHPAPI int php_session_reset_id(void) /* {{{ */
|
|||
}
|
||||
} else {
|
||||
if (sid) {
|
||||
zend_string_release_ex(Z_STR_P(sid), 0);
|
||||
zval_ptr_dtor_str(sid);
|
||||
ZVAL_EMPTY_STRING(sid);
|
||||
} else {
|
||||
REGISTER_STRINGL_CONSTANT("SID", "", 0, 0);
|
||||
|
|
|
@ -1947,7 +1947,7 @@ static zend_long php_extract_ref_prefix_if_exists(zend_array *arr, zend_array *s
|
|||
count++;
|
||||
}
|
||||
}
|
||||
zend_string_release_ex(Z_STR(final_name), 0);
|
||||
zval_ptr_dtor_str(&final_name);
|
||||
}
|
||||
} ZEND_HASH_FOREACH_END();
|
||||
|
||||
|
@ -1997,7 +1997,7 @@ static zend_long php_extract_prefix_if_exists(zend_array *arr, zend_array *symbo
|
|||
count++;
|
||||
}
|
||||
}
|
||||
zend_string_release_ex(Z_STR(final_name), 0);
|
||||
zval_ptr_dtor_str(&final_name);
|
||||
}
|
||||
} ZEND_HASH_FOREACH_END();
|
||||
|
||||
|
@ -2056,7 +2056,7 @@ static zend_long php_extract_ref_prefix_same(zend_array *arr, zend_array *symbol
|
|||
count++;
|
||||
}
|
||||
}
|
||||
zend_string_release_ex(Z_STR(final_name), 0);
|
||||
zval_ptr_dtor_str(&final_name);
|
||||
} else {
|
||||
if (!php_valid_var_name(ZSTR_VAL(var_name), ZSTR_LEN(var_name))) {
|
||||
continue;
|
||||
|
@ -2124,7 +2124,7 @@ static zend_long php_extract_prefix_same(zend_array *arr, zend_array *symbol_tab
|
|||
count++;
|
||||
}
|
||||
}
|
||||
zend_string_release_ex(Z_STR(final_name), 0);
|
||||
zval_ptr_dtor_str(&final_name);
|
||||
} else {
|
||||
if (!php_valid_var_name(ZSTR_VAL(var_name), ZSTR_LEN(var_name))) {
|
||||
continue;
|
||||
|
@ -2184,7 +2184,7 @@ static zend_long php_extract_ref_prefix_all(zend_array *arr, zend_array *symbol_
|
|||
count++;
|
||||
}
|
||||
}
|
||||
zend_string_release_ex(Z_STR(final_name), 0);
|
||||
zval_ptr_dtor_str(&final_name);
|
||||
} ZEND_HASH_FOREACH_END();
|
||||
|
||||
return count;
|
||||
|
@ -2229,7 +2229,7 @@ static zend_long php_extract_prefix_all(zend_array *arr, zend_array *symbol_tabl
|
|||
count++;
|
||||
}
|
||||
}
|
||||
zend_string_release_ex(Z_STR(final_name), 0);
|
||||
zval_ptr_dtor_str(&final_name);
|
||||
} ZEND_HASH_FOREACH_END();
|
||||
|
||||
return count;
|
||||
|
@ -2248,7 +2248,7 @@ static zend_long php_extract_ref_prefix_invalid(zend_array *arr, zend_array *sym
|
|||
if (!php_valid_var_name(ZSTR_VAL(var_name), ZSTR_LEN(var_name))) {
|
||||
php_prefix_varname(&final_name, prefix, ZSTR_VAL(var_name), ZSTR_LEN(var_name), 1);
|
||||
if (!php_valid_var_name(Z_STRVAL(final_name), Z_STRLEN(final_name))) {
|
||||
zend_string_release_ex(Z_STR(final_name), 0);
|
||||
zval_ptr_dtor_str(&final_name);
|
||||
continue;
|
||||
}
|
||||
} else {
|
||||
|
@ -2259,7 +2259,7 @@ static zend_long php_extract_ref_prefix_invalid(zend_array *arr, zend_array *sym
|
|||
php_prefix_varname(&final_name, prefix, ZSTR_VAL(str), ZSTR_LEN(str), 1);
|
||||
zend_string_release_ex(str, 0);
|
||||
if (!php_valid_var_name(Z_STRVAL(final_name), Z_STRLEN(final_name))) {
|
||||
zend_string_release_ex(Z_STR(final_name), 0);
|
||||
zval_ptr_dtor_str(&final_name);
|
||||
continue;
|
||||
}
|
||||
}
|
||||
|
@ -2283,7 +2283,7 @@ static zend_long php_extract_ref_prefix_invalid(zend_array *arr, zend_array *sym
|
|||
}
|
||||
count++;
|
||||
}
|
||||
zend_string_release_ex(Z_STR(final_name), 0);
|
||||
zval_ptr_dtor_str(&final_name);
|
||||
} ZEND_HASH_FOREACH_END();
|
||||
|
||||
return count;
|
||||
|
@ -2302,7 +2302,7 @@ static zend_long php_extract_prefix_invalid(zend_array *arr, zend_array *symbol_
|
|||
if (!php_valid_var_name(ZSTR_VAL(var_name), ZSTR_LEN(var_name))) {
|
||||
php_prefix_varname(&final_name, prefix, ZSTR_VAL(var_name), ZSTR_LEN(var_name), 1);
|
||||
if (!php_valid_var_name(Z_STRVAL(final_name), Z_STRLEN(final_name))) {
|
||||
zend_string_release_ex(Z_STR(final_name), 0);
|
||||
zval_ptr_dtor_str(&final_name);
|
||||
continue;
|
||||
}
|
||||
} else {
|
||||
|
@ -2313,7 +2313,7 @@ static zend_long php_extract_prefix_invalid(zend_array *arr, zend_array *symbol_
|
|||
php_prefix_varname(&final_name, prefix, ZSTR_VAL(str), ZSTR_LEN(str), 1);
|
||||
zend_string_release_ex(str, 0);
|
||||
if (!php_valid_var_name(Z_STRVAL(final_name), Z_STRLEN(final_name))) {
|
||||
zend_string_release_ex(Z_STR(final_name), 0);
|
||||
zval_ptr_dtor_str(&final_name);
|
||||
continue;
|
||||
}
|
||||
}
|
||||
|
@ -2335,7 +2335,7 @@ static zend_long php_extract_prefix_invalid(zend_array *arr, zend_array *symbol_
|
|||
}
|
||||
count++;
|
||||
}
|
||||
zend_string_release_ex(Z_STR(final_name), 0);
|
||||
zval_ptr_dtor_str(&final_name);
|
||||
} ZEND_HASH_FOREACH_END();
|
||||
|
||||
return count;
|
||||
|
|
|
@ -477,7 +477,7 @@ string_key:
|
|||
ZEND_ASSERT(existing_propinfo->flags & ZEND_ACC_PUBLIC);
|
||||
new_key = unmangled;
|
||||
}
|
||||
zend_string_release_ex(Z_STR(key), 0);
|
||||
zval_ptr_dtor_str(&key);
|
||||
ZVAL_STR(&key, new_key);
|
||||
} else {
|
||||
zend_string_release_ex(unmangled, 0);
|
||||
|
|
|
@ -481,7 +481,7 @@ string_key:
|
|||
ZEND_ASSERT(existing_propinfo->flags & ZEND_ACC_PUBLIC);
|
||||
new_key = unmangled;
|
||||
}
|
||||
zend_string_release_ex(Z_STR(key), 0);
|
||||
zval_ptr_dtor_str(&key);
|
||||
ZVAL_STR(&key, new_key);
|
||||
} else {
|
||||
zend_string_release_ex(unmangled, 0);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue