summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNikita Popov <nikita.ppv@gmail.com>2017-10-30 22:48:20 +0100
committerNikita Popov <nikita.ppv@gmail.com>2017-10-30 22:48:20 +0100
commit7b16205f8bafb196de2734809b9672b36f2f6376 (patch)
tree8960beb93b086ec5d8f6abcea47e65670df9312d
parentcb2884679c25a40fb6edbccc598411dcf0cff9bc (diff)
downloadphp-git-7b16205f8bafb196de2734809b9672b36f2f6376.tar.gz
Remove some unnecessary duplications
-rw-r--r--Zend/zend_builtin_functions.c11
-rw-r--r--Zend/zend_generators.c8
-rw-r--r--ext/reflection/php_reflection.c20
3 files changed, 10 insertions, 29 deletions
diff --git a/Zend/zend_builtin_functions.c b/Zend/zend_builtin_functions.c
index 37bf4f82e0..04bb9142d2 100644
--- a/Zend/zend_builtin_functions.c
+++ b/Zend/zend_builtin_functions.c
@@ -647,14 +647,9 @@ ZEND_FUNCTION(each)
zend_hash_real_init(Z_ARRVAL_P(return_value), 0);
/* add value elements */
- if (Z_ISREF_P(entry)) {
- ZVAL_DUP(&tmp, Z_REFVAL_P(entry));
- entry = &tmp;
- if (Z_REFCOUNTED_P(entry)) Z_ADDREF_P(entry);
- } else {
- if (Z_REFCOUNTED_P(entry)) Z_ADDREF_P(entry);
- if (Z_REFCOUNTED_P(entry)) Z_ADDREF_P(entry);
- }
+ ZVAL_DEREF(entry);
+ if (Z_REFCOUNTED_P(entry)) Z_ADDREF_P(entry);
+ if (Z_REFCOUNTED_P(entry)) Z_ADDREF_P(entry);
zend_hash_index_add_new(Z_ARRVAL_P(return_value), 1, entry);
zend_hash_add_new(Z_ARRVAL_P(return_value), ZSTR_KNOWN(ZEND_STR_VALUE), entry);
diff --git a/Zend/zend_generators.c b/Zend/zend_generators.c
index 43dfc00e10..e47be96850 100644
--- a/Zend/zend_generators.c
+++ b/Zend/zend_generators.c
@@ -1014,14 +1014,14 @@ ZEND_METHOD(Generator, send)
* Throws an exception into the generator */
ZEND_METHOD(Generator, throw)
{
- zval *exception, exception_copy;
+ zval *exception;
zend_generator *generator;
ZEND_PARSE_PARAMETERS_START(1, 1)
Z_PARAM_ZVAL(exception)
ZEND_PARSE_PARAMETERS_END();
- ZVAL_DUP(&exception_copy, exception);
+ Z_TRY_ADDREF_P(exception);
generator = (zend_generator *) Z_OBJ_P(getThis());
@@ -1030,7 +1030,7 @@ ZEND_METHOD(Generator, throw)
if (generator->execute_data) {
zend_generator *root = zend_generator_get_current(generator);
- zend_generator_throw_exception(root, &exception_copy);
+ zend_generator_throw_exception(root, exception);
zend_generator_resume(generator);
@@ -1044,7 +1044,7 @@ ZEND_METHOD(Generator, throw)
} else {
/* If the generator is already closed throw the exception in the
* current context */
- zend_throw_exception_object(&exception_copy);
+ zend_throw_exception_object(exception);
}
}
/* }}} */
diff --git a/ext/reflection/php_reflection.c b/ext/reflection/php_reflection.c
index 36af4a193a..300d17326e 100644
--- a/ext/reflection/php_reflection.c
+++ b/ext/reflection/php_reflection.c
@@ -175,24 +175,10 @@ static void _default_get_entry(zval *object, char *name, int name_len, zval *ret
if ((value = _default_load_entry(object, name, name_len)) == NULL) {
RETURN_FALSE;
}
- ZVAL_DUP(return_value, value);
+ ZVAL_COPY(return_value, value);
}
/* }}} */
-#ifdef ilia_0
-static void _default_lookup_entry(zval *object, char *name, int name_len, zval **return_value) /* {{{ */
-{
- zval **value;
-
- if (zend_hash_find(Z_OBJPROP_P(object), name, name_len, (void **) &value) == FAILURE) {
- *return_value = NULL;
- } else {
- *return_value = *value;
- }
-}
-/* }}} */
-#endif
-
static zend_function *_copy_function(zend_function *fptr) /* {{{ */
{
if (fptr
@@ -649,7 +635,7 @@ static void _parameter_string(smart_str *str, zend_function *fptr, struct _zend_
zval zv;
smart_str_appends(str, " = ");
- ZVAL_DUP(&zv, RT_CONSTANT(precv, precv->op2));
+ ZVAL_COPY(&zv, RT_CONSTANT(precv, precv->op2));
if (UNEXPECTED(zval_update_constant_ex(&zv, fptr->common.scope) == FAILURE)) {
zval_ptr_dtor(&zv);
return;
@@ -2812,7 +2798,7 @@ ZEND_METHOD(reflection_parameter, getDefaultValue)
return;
}
- ZVAL_DUP(return_value, RT_CONSTANT(precv, precv->op2));
+ ZVAL_COPY(return_value, RT_CONSTANT(precv, precv->op2));
if (Z_TYPE_P(return_value) == IS_CONSTANT_AST) {
zval_update_constant_ex(return_value, param->fptr->common.scope);
}