mirror of
https://github.com/php/php-src.git
synced 2024-09-21 09:57:23 +00:00
Fixed ext/spl/tests/bug61347.phpt failure introduced by ZEND_ARRAY_KEY_EXISTS opcode
This commit is contained in:
parent
0bbfebb6d9
commit
70fcbe3524
@ -6388,7 +6388,7 @@ ZEND_VM_C_LABEL(try_again_subject):
|
||||
if (EXPECTED(Z_TYPE_P(subject) == IS_ARRAY)) {
|
||||
ht = Z_ARRVAL_P(subject);
|
||||
} else if (UNEXPECTED(Z_TYPE_P(subject) == IS_OBJECT)) {
|
||||
ht = Z_OBJPROP_P(subject);
|
||||
ht = zend_get_properties_for(subject, ZEND_PROP_PURPOSE_ARRAY_CAST);
|
||||
} else if (Z_ISREF_P(subject)) {
|
||||
subject = Z_REFVAL_P(subject);
|
||||
ZEND_VM_C_GOTO(try_again_subject);
|
||||
@ -6426,6 +6426,10 @@ ZEND_VM_C_LABEL(try_again_key):
|
||||
result = 0;
|
||||
}
|
||||
|
||||
if (Z_TYPE_P(subject) != IS_ARRAY) {
|
||||
zend_release_properties(ht);
|
||||
}
|
||||
|
||||
FREE_OP2();
|
||||
FREE_OP1();
|
||||
ZEND_VM_SMART_BRANCH(result, 1);
|
||||
|
@ -5754,7 +5754,7 @@ try_again_subject:
|
||||
if (EXPECTED(Z_TYPE_P(subject) == IS_ARRAY)) {
|
||||
ht = Z_ARRVAL_P(subject);
|
||||
} else if (UNEXPECTED(Z_TYPE_P(subject) == IS_OBJECT)) {
|
||||
ht = Z_OBJPROP_P(subject);
|
||||
ht = zend_get_properties_for(subject, ZEND_PROP_PURPOSE_ARRAY_CAST);
|
||||
} else if (Z_ISREF_P(subject)) {
|
||||
subject = Z_REFVAL_P(subject);
|
||||
goto try_again_subject;
|
||||
@ -5792,6 +5792,10 @@ try_again_key:
|
||||
result = 0;
|
||||
}
|
||||
|
||||
if (Z_TYPE_P(subject) != IS_ARRAY) {
|
||||
zend_release_properties(ht);
|
||||
}
|
||||
|
||||
|
||||
ZEND_VM_SMART_BRANCH(result, 1);
|
||||
ZVAL_BOOL(EX_VAR(opline->result.var), result);
|
||||
@ -7774,7 +7778,7 @@ try_again_subject:
|
||||
if (EXPECTED(Z_TYPE_P(subject) == IS_ARRAY)) {
|
||||
ht = Z_ARRVAL_P(subject);
|
||||
} else if (UNEXPECTED(Z_TYPE_P(subject) == IS_OBJECT)) {
|
||||
ht = Z_OBJPROP_P(subject);
|
||||
ht = zend_get_properties_for(subject, ZEND_PROP_PURPOSE_ARRAY_CAST);
|
||||
} else if (Z_ISREF_P(subject)) {
|
||||
subject = Z_REFVAL_P(subject);
|
||||
goto try_again_subject;
|
||||
@ -7812,6 +7816,10 @@ try_again_key:
|
||||
result = 0;
|
||||
}
|
||||
|
||||
if (Z_TYPE_P(subject) != IS_ARRAY) {
|
||||
zend_release_properties(ht);
|
||||
}
|
||||
|
||||
zval_ptr_dtor_nogc(free_op2);
|
||||
|
||||
ZEND_VM_SMART_BRANCH(result, 1);
|
||||
@ -10905,7 +10913,7 @@ try_again_subject:
|
||||
if (EXPECTED(Z_TYPE_P(subject) == IS_ARRAY)) {
|
||||
ht = Z_ARRVAL_P(subject);
|
||||
} else if (UNEXPECTED(Z_TYPE_P(subject) == IS_OBJECT)) {
|
||||
ht = Z_OBJPROP_P(subject);
|
||||
ht = zend_get_properties_for(subject, ZEND_PROP_PURPOSE_ARRAY_CAST);
|
||||
} else if (Z_ISREF_P(subject)) {
|
||||
subject = Z_REFVAL_P(subject);
|
||||
goto try_again_subject;
|
||||
@ -10943,6 +10951,10 @@ try_again_key:
|
||||
result = 0;
|
||||
}
|
||||
|
||||
if (Z_TYPE_P(subject) != IS_ARRAY) {
|
||||
zend_release_properties(ht);
|
||||
}
|
||||
|
||||
|
||||
ZEND_VM_SMART_BRANCH(result, 1);
|
||||
ZVAL_BOOL(EX_VAR(opline->result.var), result);
|
||||
@ -14530,7 +14542,7 @@ try_again_subject:
|
||||
if (EXPECTED(Z_TYPE_P(subject) == IS_ARRAY)) {
|
||||
ht = Z_ARRVAL_P(subject);
|
||||
} else if (UNEXPECTED(Z_TYPE_P(subject) == IS_OBJECT)) {
|
||||
ht = Z_OBJPROP_P(subject);
|
||||
ht = zend_get_properties_for(subject, ZEND_PROP_PURPOSE_ARRAY_CAST);
|
||||
} else if (Z_ISREF_P(subject)) {
|
||||
subject = Z_REFVAL_P(subject);
|
||||
goto try_again_subject;
|
||||
@ -14568,6 +14580,10 @@ try_again_key:
|
||||
result = 0;
|
||||
}
|
||||
|
||||
if (Z_TYPE_P(subject) != IS_ARRAY) {
|
||||
zend_release_properties(ht);
|
||||
}
|
||||
|
||||
zval_ptr_dtor_nogc(free_op1);
|
||||
ZEND_VM_SMART_BRANCH(result, 1);
|
||||
ZVAL_BOOL(EX_VAR(opline->result.var), result);
|
||||
@ -16053,7 +16069,7 @@ try_again_subject:
|
||||
if (EXPECTED(Z_TYPE_P(subject) == IS_ARRAY)) {
|
||||
ht = Z_ARRVAL_P(subject);
|
||||
} else if (UNEXPECTED(Z_TYPE_P(subject) == IS_OBJECT)) {
|
||||
ht = Z_OBJPROP_P(subject);
|
||||
ht = zend_get_properties_for(subject, ZEND_PROP_PURPOSE_ARRAY_CAST);
|
||||
} else if (Z_ISREF_P(subject)) {
|
||||
subject = Z_REFVAL_P(subject);
|
||||
goto try_again_subject;
|
||||
@ -16091,6 +16107,10 @@ try_again_key:
|
||||
result = 0;
|
||||
}
|
||||
|
||||
if (Z_TYPE_P(subject) != IS_ARRAY) {
|
||||
zend_release_properties(ht);
|
||||
}
|
||||
|
||||
zval_ptr_dtor_nogc(free_op2);
|
||||
zval_ptr_dtor_nogc(free_op1);
|
||||
ZEND_VM_SMART_BRANCH(result, 1);
|
||||
@ -17976,7 +17996,7 @@ try_again_subject:
|
||||
if (EXPECTED(Z_TYPE_P(subject) == IS_ARRAY)) {
|
||||
ht = Z_ARRVAL_P(subject);
|
||||
} else if (UNEXPECTED(Z_TYPE_P(subject) == IS_OBJECT)) {
|
||||
ht = Z_OBJPROP_P(subject);
|
||||
ht = zend_get_properties_for(subject, ZEND_PROP_PURPOSE_ARRAY_CAST);
|
||||
} else if (Z_ISREF_P(subject)) {
|
||||
subject = Z_REFVAL_P(subject);
|
||||
goto try_again_subject;
|
||||
@ -18014,6 +18034,10 @@ try_again_key:
|
||||
result = 0;
|
||||
}
|
||||
|
||||
if (Z_TYPE_P(subject) != IS_ARRAY) {
|
||||
zend_release_properties(ht);
|
||||
}
|
||||
|
||||
zval_ptr_dtor_nogc(free_op1);
|
||||
ZEND_VM_SMART_BRANCH(result, 1);
|
||||
ZVAL_BOOL(EX_VAR(opline->result.var), result);
|
||||
@ -41614,7 +41638,7 @@ try_again_subject:
|
||||
if (EXPECTED(Z_TYPE_P(subject) == IS_ARRAY)) {
|
||||
ht = Z_ARRVAL_P(subject);
|
||||
} else if (UNEXPECTED(Z_TYPE_P(subject) == IS_OBJECT)) {
|
||||
ht = Z_OBJPROP_P(subject);
|
||||
ht = zend_get_properties_for(subject, ZEND_PROP_PURPOSE_ARRAY_CAST);
|
||||
} else if (Z_ISREF_P(subject)) {
|
||||
subject = Z_REFVAL_P(subject);
|
||||
goto try_again_subject;
|
||||
@ -41652,6 +41676,10 @@ try_again_key:
|
||||
result = 0;
|
||||
}
|
||||
|
||||
if (Z_TYPE_P(subject) != IS_ARRAY) {
|
||||
zend_release_properties(ht);
|
||||
}
|
||||
|
||||
|
||||
ZEND_VM_SMART_BRANCH(result, 1);
|
||||
ZVAL_BOOL(EX_VAR(opline->result.var), result);
|
||||
@ -45209,7 +45237,7 @@ try_again_subject:
|
||||
if (EXPECTED(Z_TYPE_P(subject) == IS_ARRAY)) {
|
||||
ht = Z_ARRVAL_P(subject);
|
||||
} else if (UNEXPECTED(Z_TYPE_P(subject) == IS_OBJECT)) {
|
||||
ht = Z_OBJPROP_P(subject);
|
||||
ht = zend_get_properties_for(subject, ZEND_PROP_PURPOSE_ARRAY_CAST);
|
||||
} else if (Z_ISREF_P(subject)) {
|
||||
subject = Z_REFVAL_P(subject);
|
||||
goto try_again_subject;
|
||||
@ -45247,6 +45275,10 @@ try_again_key:
|
||||
result = 0;
|
||||
}
|
||||
|
||||
if (Z_TYPE_P(subject) != IS_ARRAY) {
|
||||
zend_release_properties(ht);
|
||||
}
|
||||
|
||||
zval_ptr_dtor_nogc(free_op2);
|
||||
|
||||
ZEND_VM_SMART_BRANCH(result, 1);
|
||||
@ -51069,7 +51101,7 @@ try_again_subject:
|
||||
if (EXPECTED(Z_TYPE_P(subject) == IS_ARRAY)) {
|
||||
ht = Z_ARRVAL_P(subject);
|
||||
} else if (UNEXPECTED(Z_TYPE_P(subject) == IS_OBJECT)) {
|
||||
ht = Z_OBJPROP_P(subject);
|
||||
ht = zend_get_properties_for(subject, ZEND_PROP_PURPOSE_ARRAY_CAST);
|
||||
} else if (Z_ISREF_P(subject)) {
|
||||
subject = Z_REFVAL_P(subject);
|
||||
goto try_again_subject;
|
||||
@ -51107,6 +51139,10 @@ try_again_key:
|
||||
result = 0;
|
||||
}
|
||||
|
||||
if (Z_TYPE_P(subject) != IS_ARRAY) {
|
||||
zend_release_properties(ht);
|
||||
}
|
||||
|
||||
|
||||
ZEND_VM_SMART_BRANCH(result, 1);
|
||||
ZVAL_BOOL(EX_VAR(opline->result.var), result);
|
||||
|
Loading…
Reference in New Issue
Block a user