mirror of
https://github.com/php/php-src.git
synced 2026-03-28 18:22:42 +01:00
code optimization
This commit is contained in:
@@ -4466,17 +4466,15 @@ ZEND_VM_HANDLER(77, ZEND_FE_RESET, CONST|TMP|VAR|CV, ANY)
|
||||
ZVAL_DEREF(array_ptr);
|
||||
if (Z_TYPE_P(array_ptr) == IS_ARRAY) {
|
||||
if (!Z_ISREF_P(array_ref)) {
|
||||
SEPARATE_ZVAL_NOREF(array_ptr);
|
||||
SEPARATE_ARRAY(array_ptr);
|
||||
array_ref = array_ptr;
|
||||
if (opline->extended_value & ZEND_FE_FETCH_BYREF) {
|
||||
ZVAL_NEW_REF(array_ptr, array_ptr);
|
||||
array_ref = array_ptr;
|
||||
array_ptr = Z_REFVAL_P(array_ptr);
|
||||
}
|
||||
} else if (Z_IMMUTABLE_P(array_ptr)) {
|
||||
} else if (Z_IMMUTABLE_P(array_ptr) || Z_REFCOUNT_P(array_ptr) > 1) {
|
||||
zval_copy_ctor(array_ptr);
|
||||
} else {
|
||||
SEPARATE_ZVAL_NOREF(array_ptr);
|
||||
}
|
||||
if (Z_REFCOUNTED_P(array_ref)) Z_ADDREF_P(array_ref);
|
||||
} else if (Z_TYPE_P(array_ptr) == IS_OBJECT) {
|
||||
@@ -4487,9 +4485,6 @@ ZEND_VM_HANDLER(77, ZEND_FE_RESET, CONST|TMP|VAR|CV, ANY)
|
||||
|
||||
ce = Z_OBJCE_P(array_ptr);
|
||||
if (!ce || ce->get_iterator == NULL) {
|
||||
if (!Z_ISREF_P(array_ref)) {
|
||||
SEPARATE_ZVAL_NOREF(array_ptr);
|
||||
}
|
||||
Z_ADDREF_P(array_ptr);
|
||||
}
|
||||
array_ref = array_ptr;
|
||||
|
||||
@@ -3070,17 +3070,15 @@ static int ZEND_FASTCALL ZEND_FE_RESET_SPEC_CONST_HANDLER(ZEND_OPCODE_HANDLER_A
|
||||
ZVAL_DEREF(array_ptr);
|
||||
if (Z_TYPE_P(array_ptr) == IS_ARRAY) {
|
||||
if (!Z_ISREF_P(array_ref)) {
|
||||
SEPARATE_ZVAL_NOREF(array_ptr);
|
||||
SEPARATE_ARRAY(array_ptr);
|
||||
array_ref = array_ptr;
|
||||
if (opline->extended_value & ZEND_FE_FETCH_BYREF) {
|
||||
ZVAL_NEW_REF(array_ptr, array_ptr);
|
||||
array_ref = array_ptr;
|
||||
array_ptr = Z_REFVAL_P(array_ptr);
|
||||
}
|
||||
} else if (Z_IMMUTABLE_P(array_ptr)) {
|
||||
} else if (Z_IMMUTABLE_P(array_ptr) || Z_REFCOUNT_P(array_ptr) > 1) {
|
||||
zval_copy_ctor(array_ptr);
|
||||
} else {
|
||||
SEPARATE_ZVAL_NOREF(array_ptr);
|
||||
}
|
||||
if (Z_REFCOUNTED_P(array_ref)) Z_ADDREF_P(array_ref);
|
||||
} else if (Z_TYPE_P(array_ptr) == IS_OBJECT) {
|
||||
@@ -3091,9 +3089,6 @@ static int ZEND_FASTCALL ZEND_FE_RESET_SPEC_CONST_HANDLER(ZEND_OPCODE_HANDLER_A
|
||||
|
||||
ce = Z_OBJCE_P(array_ptr);
|
||||
if (!ce || ce->get_iterator == NULL) {
|
||||
if (!Z_ISREF_P(array_ref)) {
|
||||
SEPARATE_ZVAL_NOREF(array_ptr);
|
||||
}
|
||||
Z_ADDREF_P(array_ptr);
|
||||
}
|
||||
array_ref = array_ptr;
|
||||
@@ -9796,17 +9791,15 @@ static int ZEND_FASTCALL ZEND_FE_RESET_SPEC_TMP_HANDLER(ZEND_OPCODE_HANDLER_ARG
|
||||
ZVAL_DEREF(array_ptr);
|
||||
if (Z_TYPE_P(array_ptr) == IS_ARRAY) {
|
||||
if (!Z_ISREF_P(array_ref)) {
|
||||
SEPARATE_ZVAL_NOREF(array_ptr);
|
||||
SEPARATE_ARRAY(array_ptr);
|
||||
array_ref = array_ptr;
|
||||
if (opline->extended_value & ZEND_FE_FETCH_BYREF) {
|
||||
ZVAL_NEW_REF(array_ptr, array_ptr);
|
||||
array_ref = array_ptr;
|
||||
array_ptr = Z_REFVAL_P(array_ptr);
|
||||
}
|
||||
} else if (Z_IMMUTABLE_P(array_ptr)) {
|
||||
} else if (Z_IMMUTABLE_P(array_ptr) || Z_REFCOUNT_P(array_ptr) > 1) {
|
||||
zval_copy_ctor(array_ptr);
|
||||
} else {
|
||||
SEPARATE_ZVAL_NOREF(array_ptr);
|
||||
}
|
||||
if (Z_REFCOUNTED_P(array_ref)) Z_ADDREF_P(array_ref);
|
||||
} else if (Z_TYPE_P(array_ptr) == IS_OBJECT) {
|
||||
@@ -9817,9 +9810,6 @@ static int ZEND_FASTCALL ZEND_FE_RESET_SPEC_TMP_HANDLER(ZEND_OPCODE_HANDLER_ARG
|
||||
|
||||
ce = Z_OBJCE_P(array_ptr);
|
||||
if (!ce || ce->get_iterator == NULL) {
|
||||
if (!Z_ISREF_P(array_ref)) {
|
||||
SEPARATE_ZVAL_NOREF(array_ptr);
|
||||
}
|
||||
Z_ADDREF_P(array_ptr);
|
||||
}
|
||||
array_ref = array_ptr;
|
||||
@@ -16436,17 +16426,15 @@ static int ZEND_FASTCALL ZEND_FE_RESET_SPEC_VAR_HANDLER(ZEND_OPCODE_HANDLER_ARG
|
||||
ZVAL_DEREF(array_ptr);
|
||||
if (Z_TYPE_P(array_ptr) == IS_ARRAY) {
|
||||
if (!Z_ISREF_P(array_ref)) {
|
||||
SEPARATE_ZVAL_NOREF(array_ptr);
|
||||
SEPARATE_ARRAY(array_ptr);
|
||||
array_ref = array_ptr;
|
||||
if (opline->extended_value & ZEND_FE_FETCH_BYREF) {
|
||||
ZVAL_NEW_REF(array_ptr, array_ptr);
|
||||
array_ref = array_ptr;
|
||||
array_ptr = Z_REFVAL_P(array_ptr);
|
||||
}
|
||||
} else if (Z_IMMUTABLE_P(array_ptr)) {
|
||||
} else if (Z_IMMUTABLE_P(array_ptr) || Z_REFCOUNT_P(array_ptr) > 1) {
|
||||
zval_copy_ctor(array_ptr);
|
||||
} else {
|
||||
SEPARATE_ZVAL_NOREF(array_ptr);
|
||||
}
|
||||
if (Z_REFCOUNTED_P(array_ref)) Z_ADDREF_P(array_ref);
|
||||
} else if (Z_TYPE_P(array_ptr) == IS_OBJECT) {
|
||||
@@ -16457,9 +16445,6 @@ static int ZEND_FASTCALL ZEND_FE_RESET_SPEC_VAR_HANDLER(ZEND_OPCODE_HANDLER_ARG
|
||||
|
||||
ce = Z_OBJCE_P(array_ptr);
|
||||
if (!ce || ce->get_iterator == NULL) {
|
||||
if (!Z_ISREF_P(array_ref)) {
|
||||
SEPARATE_ZVAL_NOREF(array_ptr);
|
||||
}
|
||||
Z_ADDREF_P(array_ptr);
|
||||
}
|
||||
array_ref = array_ptr;
|
||||
@@ -33881,17 +33866,15 @@ static int ZEND_FASTCALL ZEND_FE_RESET_SPEC_CV_HANDLER(ZEND_OPCODE_HANDLER_ARGS
|
||||
ZVAL_DEREF(array_ptr);
|
||||
if (Z_TYPE_P(array_ptr) == IS_ARRAY) {
|
||||
if (!Z_ISREF_P(array_ref)) {
|
||||
SEPARATE_ZVAL_NOREF(array_ptr);
|
||||
SEPARATE_ARRAY(array_ptr);
|
||||
array_ref = array_ptr;
|
||||
if (opline->extended_value & ZEND_FE_FETCH_BYREF) {
|
||||
ZVAL_NEW_REF(array_ptr, array_ptr);
|
||||
array_ref = array_ptr;
|
||||
array_ptr = Z_REFVAL_P(array_ptr);
|
||||
}
|
||||
} else if (Z_IMMUTABLE_P(array_ptr)) {
|
||||
} else if (Z_IMMUTABLE_P(array_ptr) || Z_REFCOUNT_P(array_ptr) > 1) {
|
||||
zval_copy_ctor(array_ptr);
|
||||
} else {
|
||||
SEPARATE_ZVAL_NOREF(array_ptr);
|
||||
}
|
||||
if (Z_REFCOUNTED_P(array_ref)) Z_ADDREF_P(array_ref);
|
||||
} else if (Z_TYPE_P(array_ptr) == IS_OBJECT) {
|
||||
@@ -33902,9 +33885,6 @@ static int ZEND_FASTCALL ZEND_FE_RESET_SPEC_CV_HANDLER(ZEND_OPCODE_HANDLER_ARGS
|
||||
|
||||
ce = Z_OBJCE_P(array_ptr);
|
||||
if (!ce || ce->get_iterator == NULL) {
|
||||
if (!Z_ISREF_P(array_ref)) {
|
||||
SEPARATE_ZVAL_NOREF(array_ptr);
|
||||
}
|
||||
Z_ADDREF_P(array_ptr);
|
||||
}
|
||||
array_ref = array_ptr;
|
||||
|
||||
Reference in New Issue
Block a user