mirror of
https://github.com/php/php-src.git
synced 2024-09-22 10:27:25 +00:00
Fixed test tests/classes/__call_007.php
This commit is contained in:
parent
882b0a3c24
commit
92450f9d6c
@ -3149,7 +3149,7 @@ ZEND_API zend_bool zend_is_callable_ex(zval *callable, zval *object_ptr, uint ch
|
|||||||
}
|
}
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
if (!!EG(objects_store).object_buckets ||
|
if (!EG(objects_store).object_buckets ||
|
||||||
!IS_VALID(EG(objects_store).object_buckets[Z_OBJ_HANDLE_P(obj)])) {
|
!IS_VALID(EG(objects_store).object_buckets[Z_OBJ_HANDLE_P(obj)])) {
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -1025,7 +1025,9 @@ ZEND_VM_HELPER_EX(zend_fetch_var_address_helper, CONST|TMP|VAR|CV, UNUSED|CONST|
|
|||||||
zend_error(E_NOTICE,"Undefined variable: %s", Z_STRVAL_P(varname));
|
zend_error(E_NOTICE,"Undefined variable: %s", Z_STRVAL_P(varname));
|
||||||
/* break missing intentionally */
|
/* break missing intentionally */
|
||||||
case BP_VAR_IS:
|
case BP_VAR_IS:
|
||||||
ZVAL_NULL(retval);
|
//???
|
||||||
|
//ZVAL_NULL(retval);
|
||||||
|
ZVAL_NULL(EX_VAR(opline->result.var));
|
||||||
break;
|
break;
|
||||||
case BP_VAR_RW:
|
case BP_VAR_RW:
|
||||||
zend_error(E_NOTICE,"Undefined variable: %s", Z_STRVAL_P(varname));
|
zend_error(E_NOTICE,"Undefined variable: %s", Z_STRVAL_P(varname));
|
||||||
@ -1060,30 +1062,33 @@ ZEND_VM_HELPER_EX(zend_fetch_var_address_helper, CONST|TMP|VAR|CV, UNUSED|CONST|
|
|||||||
if (OP1_TYPE != IS_CONST && varname == &tmp_varname) {
|
if (OP1_TYPE != IS_CONST && varname == &tmp_varname) {
|
||||||
zval_dtor(&tmp_varname);
|
zval_dtor(&tmp_varname);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (opline->extended_value & ZEND_FETCH_MAKE_REF) {
|
if (opline->extended_value & ZEND_FETCH_MAKE_REF) {
|
||||||
SEPARATE_ZVAL_TO_MAKE_IS_REF(retval);
|
SEPARATE_ZVAL_TO_MAKE_IS_REF(retval);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (IS_REFCOUNTED(Z_TYPE_P(retval))) Z_ADDREF_P(retval);
|
if (EXPECTED(retval)) {
|
||||||
switch (type) {
|
if (IS_REFCOUNTED(Z_TYPE_P(retval))) Z_ADDREF_P(retval);
|
||||||
case BP_VAR_R:
|
switch (type) {
|
||||||
case BP_VAR_IS:
|
case BP_VAR_R:
|
||||||
ZVAL_COPY_VALUE(EX_VAR(opline->result.var), retval);
|
case BP_VAR_IS:
|
||||||
break;
|
ZVAL_COPY_VALUE(EX_VAR(opline->result.var), retval);
|
||||||
case BP_VAR_UNSET: {
|
break;
|
||||||
//??? zend_free_op free_res;
|
case BP_VAR_UNSET: {
|
||||||
//???
|
//??? zend_free_op free_res;
|
||||||
//??? PZVAL_UNLOCK(*retval, &free_res);
|
//???
|
||||||
//??? if (retval != &EG(uninitialized_zval_ptr)) {
|
//??? PZVAL_UNLOCK(*retval, &free_res);
|
||||||
//??? SEPARATE_ZVAL_IF_NOT_REF(retval);
|
//??? if (retval != &EG(uninitialized_zval_ptr)) {
|
||||||
//??? }
|
//??? SEPARATE_ZVAL_IF_NOT_REF(retval);
|
||||||
//??? PZVAL_LOCK(*retval);
|
//??? }
|
||||||
//??? FREE_OP_VAR_PTR(free_res);
|
//??? PZVAL_LOCK(*retval);
|
||||||
}
|
//??? FREE_OP_VAR_PTR(free_res);
|
||||||
/* break missing intentionally */
|
}
|
||||||
default:
|
/* break missing intentionally */
|
||||||
ZVAL_INDIRECT(EX_VAR(opline->result.var), retval);
|
default:
|
||||||
break;
|
ZVAL_INDIRECT(EX_VAR(opline->result.var), retval);
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
CHECK_EXCEPTION();
|
CHECK_EXCEPTION();
|
||||||
ZEND_VM_NEXT_OPCODE();
|
ZEND_VM_NEXT_OPCODE();
|
||||||
|
@ -3544,7 +3544,9 @@ static int ZEND_FASTCALL zend_fetch_var_address_helper_SPEC_CONST_CONST(int type
|
|||||||
zend_error(E_NOTICE,"Undefined variable: %s", Z_STRVAL_P(varname));
|
zend_error(E_NOTICE,"Undefined variable: %s", Z_STRVAL_P(varname));
|
||||||
/* break missing intentionally */
|
/* break missing intentionally */
|
||||||
case BP_VAR_IS:
|
case BP_VAR_IS:
|
||||||
ZVAL_NULL(retval);
|
//???
|
||||||
|
//ZVAL_NULL(retval);
|
||||||
|
ZVAL_NULL(EX_VAR(opline->result.var));
|
||||||
break;
|
break;
|
||||||
case BP_VAR_RW:
|
case BP_VAR_RW:
|
||||||
zend_error(E_NOTICE,"Undefined variable: %s", Z_STRVAL_P(varname));
|
zend_error(E_NOTICE,"Undefined variable: %s", Z_STRVAL_P(varname));
|
||||||
@ -3579,30 +3581,33 @@ static int ZEND_FASTCALL zend_fetch_var_address_helper_SPEC_CONST_CONST(int type
|
|||||||
if (IS_CONST != IS_CONST && varname == &tmp_varname) {
|
if (IS_CONST != IS_CONST && varname == &tmp_varname) {
|
||||||
zval_dtor(&tmp_varname);
|
zval_dtor(&tmp_varname);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (opline->extended_value & ZEND_FETCH_MAKE_REF) {
|
if (opline->extended_value & ZEND_FETCH_MAKE_REF) {
|
||||||
SEPARATE_ZVAL_TO_MAKE_IS_REF(retval);
|
SEPARATE_ZVAL_TO_MAKE_IS_REF(retval);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (IS_REFCOUNTED(Z_TYPE_P(retval))) Z_ADDREF_P(retval);
|
if (EXPECTED(retval)) {
|
||||||
switch (type) {
|
if (IS_REFCOUNTED(Z_TYPE_P(retval))) Z_ADDREF_P(retval);
|
||||||
case BP_VAR_R:
|
switch (type) {
|
||||||
case BP_VAR_IS:
|
case BP_VAR_R:
|
||||||
ZVAL_COPY_VALUE(EX_VAR(opline->result.var), retval);
|
case BP_VAR_IS:
|
||||||
break;
|
ZVAL_COPY_VALUE(EX_VAR(opline->result.var), retval);
|
||||||
case BP_VAR_UNSET: {
|
break;
|
||||||
//??? zend_free_op free_res;
|
case BP_VAR_UNSET: {
|
||||||
//???
|
//??? zend_free_op free_res;
|
||||||
//??? PZVAL_UNLOCK(*retval, &free_res);
|
//???
|
||||||
//??? if (retval != &EG(uninitialized_zval_ptr)) {
|
//??? PZVAL_UNLOCK(*retval, &free_res);
|
||||||
//??? SEPARATE_ZVAL_IF_NOT_REF(retval);
|
//??? if (retval != &EG(uninitialized_zval_ptr)) {
|
||||||
//??? }
|
//??? SEPARATE_ZVAL_IF_NOT_REF(retval);
|
||||||
//??? PZVAL_LOCK(*retval);
|
//??? }
|
||||||
//??? FREE_OP_VAR_PTR(free_res);
|
//??? PZVAL_LOCK(*retval);
|
||||||
|
//??? FREE_OP_VAR_PTR(free_res);
|
||||||
|
}
|
||||||
|
/* break missing intentionally */
|
||||||
|
default:
|
||||||
|
ZVAL_INDIRECT(EX_VAR(opline->result.var), retval);
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
/* break missing intentionally */
|
|
||||||
default:
|
|
||||||
ZVAL_INDIRECT(EX_VAR(opline->result.var), retval);
|
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
CHECK_EXCEPTION();
|
CHECK_EXCEPTION();
|
||||||
ZEND_VM_NEXT_OPCODE();
|
ZEND_VM_NEXT_OPCODE();
|
||||||
@ -5296,7 +5301,9 @@ static int ZEND_FASTCALL zend_fetch_var_address_helper_SPEC_CONST_VAR(int type,
|
|||||||
zend_error(E_NOTICE,"Undefined variable: %s", Z_STRVAL_P(varname));
|
zend_error(E_NOTICE,"Undefined variable: %s", Z_STRVAL_P(varname));
|
||||||
/* break missing intentionally */
|
/* break missing intentionally */
|
||||||
case BP_VAR_IS:
|
case BP_VAR_IS:
|
||||||
ZVAL_NULL(retval);
|
//???
|
||||||
|
//ZVAL_NULL(retval);
|
||||||
|
ZVAL_NULL(EX_VAR(opline->result.var));
|
||||||
break;
|
break;
|
||||||
case BP_VAR_RW:
|
case BP_VAR_RW:
|
||||||
zend_error(E_NOTICE,"Undefined variable: %s", Z_STRVAL_P(varname));
|
zend_error(E_NOTICE,"Undefined variable: %s", Z_STRVAL_P(varname));
|
||||||
@ -5331,30 +5338,33 @@ static int ZEND_FASTCALL zend_fetch_var_address_helper_SPEC_CONST_VAR(int type,
|
|||||||
if (IS_CONST != IS_CONST && varname == &tmp_varname) {
|
if (IS_CONST != IS_CONST && varname == &tmp_varname) {
|
||||||
zval_dtor(&tmp_varname);
|
zval_dtor(&tmp_varname);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (opline->extended_value & ZEND_FETCH_MAKE_REF) {
|
if (opline->extended_value & ZEND_FETCH_MAKE_REF) {
|
||||||
SEPARATE_ZVAL_TO_MAKE_IS_REF(retval);
|
SEPARATE_ZVAL_TO_MAKE_IS_REF(retval);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (IS_REFCOUNTED(Z_TYPE_P(retval))) Z_ADDREF_P(retval);
|
if (EXPECTED(retval)) {
|
||||||
switch (type) {
|
if (IS_REFCOUNTED(Z_TYPE_P(retval))) Z_ADDREF_P(retval);
|
||||||
case BP_VAR_R:
|
switch (type) {
|
||||||
case BP_VAR_IS:
|
case BP_VAR_R:
|
||||||
ZVAL_COPY_VALUE(EX_VAR(opline->result.var), retval);
|
case BP_VAR_IS:
|
||||||
break;
|
ZVAL_COPY_VALUE(EX_VAR(opline->result.var), retval);
|
||||||
case BP_VAR_UNSET: {
|
break;
|
||||||
//??? zend_free_op free_res;
|
case BP_VAR_UNSET: {
|
||||||
//???
|
//??? zend_free_op free_res;
|
||||||
//??? PZVAL_UNLOCK(*retval, &free_res);
|
//???
|
||||||
//??? if (retval != &EG(uninitialized_zval_ptr)) {
|
//??? PZVAL_UNLOCK(*retval, &free_res);
|
||||||
//??? SEPARATE_ZVAL_IF_NOT_REF(retval);
|
//??? if (retval != &EG(uninitialized_zval_ptr)) {
|
||||||
//??? }
|
//??? SEPARATE_ZVAL_IF_NOT_REF(retval);
|
||||||
//??? PZVAL_LOCK(*retval);
|
//??? }
|
||||||
//??? FREE_OP_VAR_PTR(free_res);
|
//??? PZVAL_LOCK(*retval);
|
||||||
|
//??? FREE_OP_VAR_PTR(free_res);
|
||||||
|
}
|
||||||
|
/* break missing intentionally */
|
||||||
|
default:
|
||||||
|
ZVAL_INDIRECT(EX_VAR(opline->result.var), retval);
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
/* break missing intentionally */
|
|
||||||
default:
|
|
||||||
ZVAL_INDIRECT(EX_VAR(opline->result.var), retval);
|
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
CHECK_EXCEPTION();
|
CHECK_EXCEPTION();
|
||||||
ZEND_VM_NEXT_OPCODE();
|
ZEND_VM_NEXT_OPCODE();
|
||||||
@ -5979,7 +5989,9 @@ static int ZEND_FASTCALL zend_fetch_var_address_helper_SPEC_CONST_UNUSED(int typ
|
|||||||
zend_error(E_NOTICE,"Undefined variable: %s", Z_STRVAL_P(varname));
|
zend_error(E_NOTICE,"Undefined variable: %s", Z_STRVAL_P(varname));
|
||||||
/* break missing intentionally */
|
/* break missing intentionally */
|
||||||
case BP_VAR_IS:
|
case BP_VAR_IS:
|
||||||
ZVAL_NULL(retval);
|
//???
|
||||||
|
//ZVAL_NULL(retval);
|
||||||
|
ZVAL_NULL(EX_VAR(opline->result.var));
|
||||||
break;
|
break;
|
||||||
case BP_VAR_RW:
|
case BP_VAR_RW:
|
||||||
zend_error(E_NOTICE,"Undefined variable: %s", Z_STRVAL_P(varname));
|
zend_error(E_NOTICE,"Undefined variable: %s", Z_STRVAL_P(varname));
|
||||||
@ -6014,30 +6026,33 @@ static int ZEND_FASTCALL zend_fetch_var_address_helper_SPEC_CONST_UNUSED(int typ
|
|||||||
if (IS_CONST != IS_CONST && varname == &tmp_varname) {
|
if (IS_CONST != IS_CONST && varname == &tmp_varname) {
|
||||||
zval_dtor(&tmp_varname);
|
zval_dtor(&tmp_varname);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (opline->extended_value & ZEND_FETCH_MAKE_REF) {
|
if (opline->extended_value & ZEND_FETCH_MAKE_REF) {
|
||||||
SEPARATE_ZVAL_TO_MAKE_IS_REF(retval);
|
SEPARATE_ZVAL_TO_MAKE_IS_REF(retval);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (IS_REFCOUNTED(Z_TYPE_P(retval))) Z_ADDREF_P(retval);
|
if (EXPECTED(retval)) {
|
||||||
switch (type) {
|
if (IS_REFCOUNTED(Z_TYPE_P(retval))) Z_ADDREF_P(retval);
|
||||||
case BP_VAR_R:
|
switch (type) {
|
||||||
case BP_VAR_IS:
|
case BP_VAR_R:
|
||||||
ZVAL_COPY_VALUE(EX_VAR(opline->result.var), retval);
|
case BP_VAR_IS:
|
||||||
break;
|
ZVAL_COPY_VALUE(EX_VAR(opline->result.var), retval);
|
||||||
case BP_VAR_UNSET: {
|
break;
|
||||||
//??? zend_free_op free_res;
|
case BP_VAR_UNSET: {
|
||||||
//???
|
//??? zend_free_op free_res;
|
||||||
//??? PZVAL_UNLOCK(*retval, &free_res);
|
//???
|
||||||
//??? if (retval != &EG(uninitialized_zval_ptr)) {
|
//??? PZVAL_UNLOCK(*retval, &free_res);
|
||||||
//??? SEPARATE_ZVAL_IF_NOT_REF(retval);
|
//??? if (retval != &EG(uninitialized_zval_ptr)) {
|
||||||
//??? }
|
//??? SEPARATE_ZVAL_IF_NOT_REF(retval);
|
||||||
//??? PZVAL_LOCK(*retval);
|
//??? }
|
||||||
//??? FREE_OP_VAR_PTR(free_res);
|
//??? PZVAL_LOCK(*retval);
|
||||||
|
//??? FREE_OP_VAR_PTR(free_res);
|
||||||
|
}
|
||||||
|
/* break missing intentionally */
|
||||||
|
default:
|
||||||
|
ZVAL_INDIRECT(EX_VAR(opline->result.var), retval);
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
/* break missing intentionally */
|
|
||||||
default:
|
|
||||||
ZVAL_INDIRECT(EX_VAR(opline->result.var), retval);
|
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
CHECK_EXCEPTION();
|
CHECK_EXCEPTION();
|
||||||
ZEND_VM_NEXT_OPCODE();
|
ZEND_VM_NEXT_OPCODE();
|
||||||
@ -8574,7 +8589,9 @@ static int ZEND_FASTCALL zend_fetch_var_address_helper_SPEC_TMP_CONST(int type,
|
|||||||
zend_error(E_NOTICE,"Undefined variable: %s", Z_STRVAL_P(varname));
|
zend_error(E_NOTICE,"Undefined variable: %s", Z_STRVAL_P(varname));
|
||||||
/* break missing intentionally */
|
/* break missing intentionally */
|
||||||
case BP_VAR_IS:
|
case BP_VAR_IS:
|
||||||
ZVAL_NULL(retval);
|
//???
|
||||||
|
//ZVAL_NULL(retval);
|
||||||
|
ZVAL_NULL(EX_VAR(opline->result.var));
|
||||||
break;
|
break;
|
||||||
case BP_VAR_RW:
|
case BP_VAR_RW:
|
||||||
zend_error(E_NOTICE,"Undefined variable: %s", Z_STRVAL_P(varname));
|
zend_error(E_NOTICE,"Undefined variable: %s", Z_STRVAL_P(varname));
|
||||||
@ -8609,30 +8626,33 @@ static int ZEND_FASTCALL zend_fetch_var_address_helper_SPEC_TMP_CONST(int type,
|
|||||||
if (IS_TMP_VAR != IS_CONST && varname == &tmp_varname) {
|
if (IS_TMP_VAR != IS_CONST && varname == &tmp_varname) {
|
||||||
zval_dtor(&tmp_varname);
|
zval_dtor(&tmp_varname);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (opline->extended_value & ZEND_FETCH_MAKE_REF) {
|
if (opline->extended_value & ZEND_FETCH_MAKE_REF) {
|
||||||
SEPARATE_ZVAL_TO_MAKE_IS_REF(retval);
|
SEPARATE_ZVAL_TO_MAKE_IS_REF(retval);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (IS_REFCOUNTED(Z_TYPE_P(retval))) Z_ADDREF_P(retval);
|
if (EXPECTED(retval)) {
|
||||||
switch (type) {
|
if (IS_REFCOUNTED(Z_TYPE_P(retval))) Z_ADDREF_P(retval);
|
||||||
case BP_VAR_R:
|
switch (type) {
|
||||||
case BP_VAR_IS:
|
case BP_VAR_R:
|
||||||
ZVAL_COPY_VALUE(EX_VAR(opline->result.var), retval);
|
case BP_VAR_IS:
|
||||||
break;
|
ZVAL_COPY_VALUE(EX_VAR(opline->result.var), retval);
|
||||||
case BP_VAR_UNSET: {
|
break;
|
||||||
//??? zend_free_op free_res;
|
case BP_VAR_UNSET: {
|
||||||
//???
|
//??? zend_free_op free_res;
|
||||||
//??? PZVAL_UNLOCK(*retval, &free_res);
|
//???
|
||||||
//??? if (retval != &EG(uninitialized_zval_ptr)) {
|
//??? PZVAL_UNLOCK(*retval, &free_res);
|
||||||
//??? SEPARATE_ZVAL_IF_NOT_REF(retval);
|
//??? if (retval != &EG(uninitialized_zval_ptr)) {
|
||||||
//??? }
|
//??? SEPARATE_ZVAL_IF_NOT_REF(retval);
|
||||||
//??? PZVAL_LOCK(*retval);
|
//??? }
|
||||||
//??? FREE_OP_VAR_PTR(free_res);
|
//??? PZVAL_LOCK(*retval);
|
||||||
|
//??? FREE_OP_VAR_PTR(free_res);
|
||||||
|
}
|
||||||
|
/* break missing intentionally */
|
||||||
|
default:
|
||||||
|
ZVAL_INDIRECT(EX_VAR(opline->result.var), retval);
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
/* break missing intentionally */
|
|
||||||
default:
|
|
||||||
ZVAL_INDIRECT(EX_VAR(opline->result.var), retval);
|
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
CHECK_EXCEPTION();
|
CHECK_EXCEPTION();
|
||||||
ZEND_VM_NEXT_OPCODE();
|
ZEND_VM_NEXT_OPCODE();
|
||||||
@ -10207,7 +10227,9 @@ static int ZEND_FASTCALL zend_fetch_var_address_helper_SPEC_TMP_VAR(int type, ZE
|
|||||||
zend_error(E_NOTICE,"Undefined variable: %s", Z_STRVAL_P(varname));
|
zend_error(E_NOTICE,"Undefined variable: %s", Z_STRVAL_P(varname));
|
||||||
/* break missing intentionally */
|
/* break missing intentionally */
|
||||||
case BP_VAR_IS:
|
case BP_VAR_IS:
|
||||||
ZVAL_NULL(retval);
|
//???
|
||||||
|
//ZVAL_NULL(retval);
|
||||||
|
ZVAL_NULL(EX_VAR(opline->result.var));
|
||||||
break;
|
break;
|
||||||
case BP_VAR_RW:
|
case BP_VAR_RW:
|
||||||
zend_error(E_NOTICE,"Undefined variable: %s", Z_STRVAL_P(varname));
|
zend_error(E_NOTICE,"Undefined variable: %s", Z_STRVAL_P(varname));
|
||||||
@ -10242,30 +10264,33 @@ static int ZEND_FASTCALL zend_fetch_var_address_helper_SPEC_TMP_VAR(int type, ZE
|
|||||||
if (IS_TMP_VAR != IS_CONST && varname == &tmp_varname) {
|
if (IS_TMP_VAR != IS_CONST && varname == &tmp_varname) {
|
||||||
zval_dtor(&tmp_varname);
|
zval_dtor(&tmp_varname);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (opline->extended_value & ZEND_FETCH_MAKE_REF) {
|
if (opline->extended_value & ZEND_FETCH_MAKE_REF) {
|
||||||
SEPARATE_ZVAL_TO_MAKE_IS_REF(retval);
|
SEPARATE_ZVAL_TO_MAKE_IS_REF(retval);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (IS_REFCOUNTED(Z_TYPE_P(retval))) Z_ADDREF_P(retval);
|
if (EXPECTED(retval)) {
|
||||||
switch (type) {
|
if (IS_REFCOUNTED(Z_TYPE_P(retval))) Z_ADDREF_P(retval);
|
||||||
case BP_VAR_R:
|
switch (type) {
|
||||||
case BP_VAR_IS:
|
case BP_VAR_R:
|
||||||
ZVAL_COPY_VALUE(EX_VAR(opline->result.var), retval);
|
case BP_VAR_IS:
|
||||||
break;
|
ZVAL_COPY_VALUE(EX_VAR(opline->result.var), retval);
|
||||||
case BP_VAR_UNSET: {
|
break;
|
||||||
//??? zend_free_op free_res;
|
case BP_VAR_UNSET: {
|
||||||
//???
|
//??? zend_free_op free_res;
|
||||||
//??? PZVAL_UNLOCK(*retval, &free_res);
|
//???
|
||||||
//??? if (retval != &EG(uninitialized_zval_ptr)) {
|
//??? PZVAL_UNLOCK(*retval, &free_res);
|
||||||
//??? SEPARATE_ZVAL_IF_NOT_REF(retval);
|
//??? if (retval != &EG(uninitialized_zval_ptr)) {
|
||||||
//??? }
|
//??? SEPARATE_ZVAL_IF_NOT_REF(retval);
|
||||||
//??? PZVAL_LOCK(*retval);
|
//??? }
|
||||||
//??? FREE_OP_VAR_PTR(free_res);
|
//??? PZVAL_LOCK(*retval);
|
||||||
|
//??? FREE_OP_VAR_PTR(free_res);
|
||||||
|
}
|
||||||
|
/* break missing intentionally */
|
||||||
|
default:
|
||||||
|
ZVAL_INDIRECT(EX_VAR(opline->result.var), retval);
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
/* break missing intentionally */
|
|
||||||
default:
|
|
||||||
ZVAL_INDIRECT(EX_VAR(opline->result.var), retval);
|
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
CHECK_EXCEPTION();
|
CHECK_EXCEPTION();
|
||||||
ZEND_VM_NEXT_OPCODE();
|
ZEND_VM_NEXT_OPCODE();
|
||||||
@ -10898,7 +10923,9 @@ static int ZEND_FASTCALL zend_fetch_var_address_helper_SPEC_TMP_UNUSED(int type,
|
|||||||
zend_error(E_NOTICE,"Undefined variable: %s", Z_STRVAL_P(varname));
|
zend_error(E_NOTICE,"Undefined variable: %s", Z_STRVAL_P(varname));
|
||||||
/* break missing intentionally */
|
/* break missing intentionally */
|
||||||
case BP_VAR_IS:
|
case BP_VAR_IS:
|
||||||
ZVAL_NULL(retval);
|
//???
|
||||||
|
//ZVAL_NULL(retval);
|
||||||
|
ZVAL_NULL(EX_VAR(opline->result.var));
|
||||||
break;
|
break;
|
||||||
case BP_VAR_RW:
|
case BP_VAR_RW:
|
||||||
zend_error(E_NOTICE,"Undefined variable: %s", Z_STRVAL_P(varname));
|
zend_error(E_NOTICE,"Undefined variable: %s", Z_STRVAL_P(varname));
|
||||||
@ -10933,30 +10960,33 @@ static int ZEND_FASTCALL zend_fetch_var_address_helper_SPEC_TMP_UNUSED(int type,
|
|||||||
if (IS_TMP_VAR != IS_CONST && varname == &tmp_varname) {
|
if (IS_TMP_VAR != IS_CONST && varname == &tmp_varname) {
|
||||||
zval_dtor(&tmp_varname);
|
zval_dtor(&tmp_varname);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (opline->extended_value & ZEND_FETCH_MAKE_REF) {
|
if (opline->extended_value & ZEND_FETCH_MAKE_REF) {
|
||||||
SEPARATE_ZVAL_TO_MAKE_IS_REF(retval);
|
SEPARATE_ZVAL_TO_MAKE_IS_REF(retval);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (IS_REFCOUNTED(Z_TYPE_P(retval))) Z_ADDREF_P(retval);
|
if (EXPECTED(retval)) {
|
||||||
switch (type) {
|
if (IS_REFCOUNTED(Z_TYPE_P(retval))) Z_ADDREF_P(retval);
|
||||||
case BP_VAR_R:
|
switch (type) {
|
||||||
case BP_VAR_IS:
|
case BP_VAR_R:
|
||||||
ZVAL_COPY_VALUE(EX_VAR(opline->result.var), retval);
|
case BP_VAR_IS:
|
||||||
break;
|
ZVAL_COPY_VALUE(EX_VAR(opline->result.var), retval);
|
||||||
case BP_VAR_UNSET: {
|
break;
|
||||||
//??? zend_free_op free_res;
|
case BP_VAR_UNSET: {
|
||||||
//???
|
//??? zend_free_op free_res;
|
||||||
//??? PZVAL_UNLOCK(*retval, &free_res);
|
//???
|
||||||
//??? if (retval != &EG(uninitialized_zval_ptr)) {
|
//??? PZVAL_UNLOCK(*retval, &free_res);
|
||||||
//??? SEPARATE_ZVAL_IF_NOT_REF(retval);
|
//??? if (retval != &EG(uninitialized_zval_ptr)) {
|
||||||
//??? }
|
//??? SEPARATE_ZVAL_IF_NOT_REF(retval);
|
||||||
//??? PZVAL_LOCK(*retval);
|
//??? }
|
||||||
//??? FREE_OP_VAR_PTR(free_res);
|
//??? PZVAL_LOCK(*retval);
|
||||||
|
//??? FREE_OP_VAR_PTR(free_res);
|
||||||
|
}
|
||||||
|
/* break missing intentionally */
|
||||||
|
default:
|
||||||
|
ZVAL_INDIRECT(EX_VAR(opline->result.var), retval);
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
/* break missing intentionally */
|
|
||||||
default:
|
|
||||||
ZVAL_INDIRECT(EX_VAR(opline->result.var), retval);
|
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
CHECK_EXCEPTION();
|
CHECK_EXCEPTION();
|
||||||
ZEND_VM_NEXT_OPCODE();
|
ZEND_VM_NEXT_OPCODE();
|
||||||
@ -14130,7 +14160,9 @@ static int ZEND_FASTCALL zend_fetch_var_address_helper_SPEC_VAR_CONST(int type,
|
|||||||
zend_error(E_NOTICE,"Undefined variable: %s", Z_STRVAL_P(varname));
|
zend_error(E_NOTICE,"Undefined variable: %s", Z_STRVAL_P(varname));
|
||||||
/* break missing intentionally */
|
/* break missing intentionally */
|
||||||
case BP_VAR_IS:
|
case BP_VAR_IS:
|
||||||
ZVAL_NULL(retval);
|
//???
|
||||||
|
//ZVAL_NULL(retval);
|
||||||
|
ZVAL_NULL(EX_VAR(opline->result.var));
|
||||||
break;
|
break;
|
||||||
case BP_VAR_RW:
|
case BP_VAR_RW:
|
||||||
zend_error(E_NOTICE,"Undefined variable: %s", Z_STRVAL_P(varname));
|
zend_error(E_NOTICE,"Undefined variable: %s", Z_STRVAL_P(varname));
|
||||||
@ -14165,30 +14197,33 @@ static int ZEND_FASTCALL zend_fetch_var_address_helper_SPEC_VAR_CONST(int type,
|
|||||||
if (IS_VAR != IS_CONST && varname == &tmp_varname) {
|
if (IS_VAR != IS_CONST && varname == &tmp_varname) {
|
||||||
zval_dtor(&tmp_varname);
|
zval_dtor(&tmp_varname);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (opline->extended_value & ZEND_FETCH_MAKE_REF) {
|
if (opline->extended_value & ZEND_FETCH_MAKE_REF) {
|
||||||
SEPARATE_ZVAL_TO_MAKE_IS_REF(retval);
|
SEPARATE_ZVAL_TO_MAKE_IS_REF(retval);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (IS_REFCOUNTED(Z_TYPE_P(retval))) Z_ADDREF_P(retval);
|
if (EXPECTED(retval)) {
|
||||||
switch (type) {
|
if (IS_REFCOUNTED(Z_TYPE_P(retval))) Z_ADDREF_P(retval);
|
||||||
case BP_VAR_R:
|
switch (type) {
|
||||||
case BP_VAR_IS:
|
case BP_VAR_R:
|
||||||
ZVAL_COPY_VALUE(EX_VAR(opline->result.var), retval);
|
case BP_VAR_IS:
|
||||||
break;
|
ZVAL_COPY_VALUE(EX_VAR(opline->result.var), retval);
|
||||||
case BP_VAR_UNSET: {
|
break;
|
||||||
//??? zend_free_op free_res;
|
case BP_VAR_UNSET: {
|
||||||
//???
|
//??? zend_free_op free_res;
|
||||||
//??? PZVAL_UNLOCK(*retval, &free_res);
|
//???
|
||||||
//??? if (retval != &EG(uninitialized_zval_ptr)) {
|
//??? PZVAL_UNLOCK(*retval, &free_res);
|
||||||
//??? SEPARATE_ZVAL_IF_NOT_REF(retval);
|
//??? if (retval != &EG(uninitialized_zval_ptr)) {
|
||||||
//??? }
|
//??? SEPARATE_ZVAL_IF_NOT_REF(retval);
|
||||||
//??? PZVAL_LOCK(*retval);
|
//??? }
|
||||||
//??? FREE_OP_VAR_PTR(free_res);
|
//??? PZVAL_LOCK(*retval);
|
||||||
|
//??? FREE_OP_VAR_PTR(free_res);
|
||||||
|
}
|
||||||
|
/* break missing intentionally */
|
||||||
|
default:
|
||||||
|
ZVAL_INDIRECT(EX_VAR(opline->result.var), retval);
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
/* break missing intentionally */
|
|
||||||
default:
|
|
||||||
ZVAL_INDIRECT(EX_VAR(opline->result.var), retval);
|
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
CHECK_EXCEPTION();
|
CHECK_EXCEPTION();
|
||||||
ZEND_VM_NEXT_OPCODE();
|
ZEND_VM_NEXT_OPCODE();
|
||||||
@ -18473,7 +18508,9 @@ static int ZEND_FASTCALL zend_fetch_var_address_helper_SPEC_VAR_VAR(int type, ZE
|
|||||||
zend_error(E_NOTICE,"Undefined variable: %s", Z_STRVAL_P(varname));
|
zend_error(E_NOTICE,"Undefined variable: %s", Z_STRVAL_P(varname));
|
||||||
/* break missing intentionally */
|
/* break missing intentionally */
|
||||||
case BP_VAR_IS:
|
case BP_VAR_IS:
|
||||||
ZVAL_NULL(retval);
|
//???
|
||||||
|
//ZVAL_NULL(retval);
|
||||||
|
ZVAL_NULL(EX_VAR(opline->result.var));
|
||||||
break;
|
break;
|
||||||
case BP_VAR_RW:
|
case BP_VAR_RW:
|
||||||
zend_error(E_NOTICE,"Undefined variable: %s", Z_STRVAL_P(varname));
|
zend_error(E_NOTICE,"Undefined variable: %s", Z_STRVAL_P(varname));
|
||||||
@ -18508,30 +18545,33 @@ static int ZEND_FASTCALL zend_fetch_var_address_helper_SPEC_VAR_VAR(int type, ZE
|
|||||||
if (IS_VAR != IS_CONST && varname == &tmp_varname) {
|
if (IS_VAR != IS_CONST && varname == &tmp_varname) {
|
||||||
zval_dtor(&tmp_varname);
|
zval_dtor(&tmp_varname);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (opline->extended_value & ZEND_FETCH_MAKE_REF) {
|
if (opline->extended_value & ZEND_FETCH_MAKE_REF) {
|
||||||
SEPARATE_ZVAL_TO_MAKE_IS_REF(retval);
|
SEPARATE_ZVAL_TO_MAKE_IS_REF(retval);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (IS_REFCOUNTED(Z_TYPE_P(retval))) Z_ADDREF_P(retval);
|
if (EXPECTED(retval)) {
|
||||||
switch (type) {
|
if (IS_REFCOUNTED(Z_TYPE_P(retval))) Z_ADDREF_P(retval);
|
||||||
case BP_VAR_R:
|
switch (type) {
|
||||||
case BP_VAR_IS:
|
case BP_VAR_R:
|
||||||
ZVAL_COPY_VALUE(EX_VAR(opline->result.var), retval);
|
case BP_VAR_IS:
|
||||||
break;
|
ZVAL_COPY_VALUE(EX_VAR(opline->result.var), retval);
|
||||||
case BP_VAR_UNSET: {
|
break;
|
||||||
//??? zend_free_op free_res;
|
case BP_VAR_UNSET: {
|
||||||
//???
|
//??? zend_free_op free_res;
|
||||||
//??? PZVAL_UNLOCK(*retval, &free_res);
|
//???
|
||||||
//??? if (retval != &EG(uninitialized_zval_ptr)) {
|
//??? PZVAL_UNLOCK(*retval, &free_res);
|
||||||
//??? SEPARATE_ZVAL_IF_NOT_REF(retval);
|
//??? if (retval != &EG(uninitialized_zval_ptr)) {
|
||||||
//??? }
|
//??? SEPARATE_ZVAL_IF_NOT_REF(retval);
|
||||||
//??? PZVAL_LOCK(*retval);
|
//??? }
|
||||||
//??? FREE_OP_VAR_PTR(free_res);
|
//??? PZVAL_LOCK(*retval);
|
||||||
|
//??? FREE_OP_VAR_PTR(free_res);
|
||||||
|
}
|
||||||
|
/* break missing intentionally */
|
||||||
|
default:
|
||||||
|
ZVAL_INDIRECT(EX_VAR(opline->result.var), retval);
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
/* break missing intentionally */
|
|
||||||
default:
|
|
||||||
ZVAL_INDIRECT(EX_VAR(opline->result.var), retval);
|
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
CHECK_EXCEPTION();
|
CHECK_EXCEPTION();
|
||||||
ZEND_VM_NEXT_OPCODE();
|
ZEND_VM_NEXT_OPCODE();
|
||||||
@ -20340,7 +20380,9 @@ static int ZEND_FASTCALL zend_fetch_var_address_helper_SPEC_VAR_UNUSED(int type,
|
|||||||
zend_error(E_NOTICE,"Undefined variable: %s", Z_STRVAL_P(varname));
|
zend_error(E_NOTICE,"Undefined variable: %s", Z_STRVAL_P(varname));
|
||||||
/* break missing intentionally */
|
/* break missing intentionally */
|
||||||
case BP_VAR_IS:
|
case BP_VAR_IS:
|
||||||
ZVAL_NULL(retval);
|
//???
|
||||||
|
//ZVAL_NULL(retval);
|
||||||
|
ZVAL_NULL(EX_VAR(opline->result.var));
|
||||||
break;
|
break;
|
||||||
case BP_VAR_RW:
|
case BP_VAR_RW:
|
||||||
zend_error(E_NOTICE,"Undefined variable: %s", Z_STRVAL_P(varname));
|
zend_error(E_NOTICE,"Undefined variable: %s", Z_STRVAL_P(varname));
|
||||||
@ -20375,30 +20417,33 @@ static int ZEND_FASTCALL zend_fetch_var_address_helper_SPEC_VAR_UNUSED(int type,
|
|||||||
if (IS_VAR != IS_CONST && varname == &tmp_varname) {
|
if (IS_VAR != IS_CONST && varname == &tmp_varname) {
|
||||||
zval_dtor(&tmp_varname);
|
zval_dtor(&tmp_varname);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (opline->extended_value & ZEND_FETCH_MAKE_REF) {
|
if (opline->extended_value & ZEND_FETCH_MAKE_REF) {
|
||||||
SEPARATE_ZVAL_TO_MAKE_IS_REF(retval);
|
SEPARATE_ZVAL_TO_MAKE_IS_REF(retval);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (IS_REFCOUNTED(Z_TYPE_P(retval))) Z_ADDREF_P(retval);
|
if (EXPECTED(retval)) {
|
||||||
switch (type) {
|
if (IS_REFCOUNTED(Z_TYPE_P(retval))) Z_ADDREF_P(retval);
|
||||||
case BP_VAR_R:
|
switch (type) {
|
||||||
case BP_VAR_IS:
|
case BP_VAR_R:
|
||||||
ZVAL_COPY_VALUE(EX_VAR(opline->result.var), retval);
|
case BP_VAR_IS:
|
||||||
break;
|
ZVAL_COPY_VALUE(EX_VAR(opline->result.var), retval);
|
||||||
case BP_VAR_UNSET: {
|
break;
|
||||||
//??? zend_free_op free_res;
|
case BP_VAR_UNSET: {
|
||||||
//???
|
//??? zend_free_op free_res;
|
||||||
//??? PZVAL_UNLOCK(*retval, &free_res);
|
//???
|
||||||
//??? if (retval != &EG(uninitialized_zval_ptr)) {
|
//??? PZVAL_UNLOCK(*retval, &free_res);
|
||||||
//??? SEPARATE_ZVAL_IF_NOT_REF(retval);
|
//??? if (retval != &EG(uninitialized_zval_ptr)) {
|
||||||
//??? }
|
//??? SEPARATE_ZVAL_IF_NOT_REF(retval);
|
||||||
//??? PZVAL_LOCK(*retval);
|
//??? }
|
||||||
//??? FREE_OP_VAR_PTR(free_res);
|
//??? PZVAL_LOCK(*retval);
|
||||||
|
//??? FREE_OP_VAR_PTR(free_res);
|
||||||
|
}
|
||||||
|
/* break missing intentionally */
|
||||||
|
default:
|
||||||
|
ZVAL_INDIRECT(EX_VAR(opline->result.var), retval);
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
/* break missing intentionally */
|
|
||||||
default:
|
|
||||||
ZVAL_INDIRECT(EX_VAR(opline->result.var), retval);
|
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
CHECK_EXCEPTION();
|
CHECK_EXCEPTION();
|
||||||
ZEND_VM_NEXT_OPCODE();
|
ZEND_VM_NEXT_OPCODE();
|
||||||
@ -30637,7 +30682,9 @@ static int ZEND_FASTCALL zend_fetch_var_address_helper_SPEC_CV_CONST(int type, Z
|
|||||||
zend_error(E_NOTICE,"Undefined variable: %s", Z_STRVAL_P(varname));
|
zend_error(E_NOTICE,"Undefined variable: %s", Z_STRVAL_P(varname));
|
||||||
/* break missing intentionally */
|
/* break missing intentionally */
|
||||||
case BP_VAR_IS:
|
case BP_VAR_IS:
|
||||||
ZVAL_NULL(retval);
|
//???
|
||||||
|
//ZVAL_NULL(retval);
|
||||||
|
ZVAL_NULL(EX_VAR(opline->result.var));
|
||||||
break;
|
break;
|
||||||
case BP_VAR_RW:
|
case BP_VAR_RW:
|
||||||
zend_error(E_NOTICE,"Undefined variable: %s", Z_STRVAL_P(varname));
|
zend_error(E_NOTICE,"Undefined variable: %s", Z_STRVAL_P(varname));
|
||||||
@ -30672,30 +30719,33 @@ static int ZEND_FASTCALL zend_fetch_var_address_helper_SPEC_CV_CONST(int type, Z
|
|||||||
if (IS_CV != IS_CONST && varname == &tmp_varname) {
|
if (IS_CV != IS_CONST && varname == &tmp_varname) {
|
||||||
zval_dtor(&tmp_varname);
|
zval_dtor(&tmp_varname);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (opline->extended_value & ZEND_FETCH_MAKE_REF) {
|
if (opline->extended_value & ZEND_FETCH_MAKE_REF) {
|
||||||
SEPARATE_ZVAL_TO_MAKE_IS_REF(retval);
|
SEPARATE_ZVAL_TO_MAKE_IS_REF(retval);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (IS_REFCOUNTED(Z_TYPE_P(retval))) Z_ADDREF_P(retval);
|
if (EXPECTED(retval)) {
|
||||||
switch (type) {
|
if (IS_REFCOUNTED(Z_TYPE_P(retval))) Z_ADDREF_P(retval);
|
||||||
case BP_VAR_R:
|
switch (type) {
|
||||||
case BP_VAR_IS:
|
case BP_VAR_R:
|
||||||
ZVAL_COPY_VALUE(EX_VAR(opline->result.var), retval);
|
case BP_VAR_IS:
|
||||||
break;
|
ZVAL_COPY_VALUE(EX_VAR(opline->result.var), retval);
|
||||||
case BP_VAR_UNSET: {
|
break;
|
||||||
//??? zend_free_op free_res;
|
case BP_VAR_UNSET: {
|
||||||
//???
|
//??? zend_free_op free_res;
|
||||||
//??? PZVAL_UNLOCK(*retval, &free_res);
|
//???
|
||||||
//??? if (retval != &EG(uninitialized_zval_ptr)) {
|
//??? PZVAL_UNLOCK(*retval, &free_res);
|
||||||
//??? SEPARATE_ZVAL_IF_NOT_REF(retval);
|
//??? if (retval != &EG(uninitialized_zval_ptr)) {
|
||||||
//??? }
|
//??? SEPARATE_ZVAL_IF_NOT_REF(retval);
|
||||||
//??? PZVAL_LOCK(*retval);
|
//??? }
|
||||||
//??? FREE_OP_VAR_PTR(free_res);
|
//??? PZVAL_LOCK(*retval);
|
||||||
|
//??? FREE_OP_VAR_PTR(free_res);
|
||||||
|
}
|
||||||
|
/* break missing intentionally */
|
||||||
|
default:
|
||||||
|
ZVAL_INDIRECT(EX_VAR(opline->result.var), retval);
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
/* break missing intentionally */
|
|
||||||
default:
|
|
||||||
ZVAL_INDIRECT(EX_VAR(opline->result.var), retval);
|
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
CHECK_EXCEPTION();
|
CHECK_EXCEPTION();
|
||||||
ZEND_VM_NEXT_OPCODE();
|
ZEND_VM_NEXT_OPCODE();
|
||||||
@ -34635,7 +34685,9 @@ static int ZEND_FASTCALL zend_fetch_var_address_helper_SPEC_CV_VAR(int type, ZEN
|
|||||||
zend_error(E_NOTICE,"Undefined variable: %s", Z_STRVAL_P(varname));
|
zend_error(E_NOTICE,"Undefined variable: %s", Z_STRVAL_P(varname));
|
||||||
/* break missing intentionally */
|
/* break missing intentionally */
|
||||||
case BP_VAR_IS:
|
case BP_VAR_IS:
|
||||||
ZVAL_NULL(retval);
|
//???
|
||||||
|
//ZVAL_NULL(retval);
|
||||||
|
ZVAL_NULL(EX_VAR(opline->result.var));
|
||||||
break;
|
break;
|
||||||
case BP_VAR_RW:
|
case BP_VAR_RW:
|
||||||
zend_error(E_NOTICE,"Undefined variable: %s", Z_STRVAL_P(varname));
|
zend_error(E_NOTICE,"Undefined variable: %s", Z_STRVAL_P(varname));
|
||||||
@ -34670,30 +34722,33 @@ static int ZEND_FASTCALL zend_fetch_var_address_helper_SPEC_CV_VAR(int type, ZEN
|
|||||||
if (IS_CV != IS_CONST && varname == &tmp_varname) {
|
if (IS_CV != IS_CONST && varname == &tmp_varname) {
|
||||||
zval_dtor(&tmp_varname);
|
zval_dtor(&tmp_varname);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (opline->extended_value & ZEND_FETCH_MAKE_REF) {
|
if (opline->extended_value & ZEND_FETCH_MAKE_REF) {
|
||||||
SEPARATE_ZVAL_TO_MAKE_IS_REF(retval);
|
SEPARATE_ZVAL_TO_MAKE_IS_REF(retval);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (IS_REFCOUNTED(Z_TYPE_P(retval))) Z_ADDREF_P(retval);
|
if (EXPECTED(retval)) {
|
||||||
switch (type) {
|
if (IS_REFCOUNTED(Z_TYPE_P(retval))) Z_ADDREF_P(retval);
|
||||||
case BP_VAR_R:
|
switch (type) {
|
||||||
case BP_VAR_IS:
|
case BP_VAR_R:
|
||||||
ZVAL_COPY_VALUE(EX_VAR(opline->result.var), retval);
|
case BP_VAR_IS:
|
||||||
break;
|
ZVAL_COPY_VALUE(EX_VAR(opline->result.var), retval);
|
||||||
case BP_VAR_UNSET: {
|
break;
|
||||||
//??? zend_free_op free_res;
|
case BP_VAR_UNSET: {
|
||||||
//???
|
//??? zend_free_op free_res;
|
||||||
//??? PZVAL_UNLOCK(*retval, &free_res);
|
//???
|
||||||
//??? if (retval != &EG(uninitialized_zval_ptr)) {
|
//??? PZVAL_UNLOCK(*retval, &free_res);
|
||||||
//??? SEPARATE_ZVAL_IF_NOT_REF(retval);
|
//??? if (retval != &EG(uninitialized_zval_ptr)) {
|
||||||
//??? }
|
//??? SEPARATE_ZVAL_IF_NOT_REF(retval);
|
||||||
//??? PZVAL_LOCK(*retval);
|
//??? }
|
||||||
//??? FREE_OP_VAR_PTR(free_res);
|
//??? PZVAL_LOCK(*retval);
|
||||||
|
//??? FREE_OP_VAR_PTR(free_res);
|
||||||
|
}
|
||||||
|
/* break missing intentionally */
|
||||||
|
default:
|
||||||
|
ZVAL_INDIRECT(EX_VAR(opline->result.var), retval);
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
/* break missing intentionally */
|
|
||||||
default:
|
|
||||||
ZVAL_INDIRECT(EX_VAR(opline->result.var), retval);
|
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
CHECK_EXCEPTION();
|
CHECK_EXCEPTION();
|
||||||
ZEND_VM_NEXT_OPCODE();
|
ZEND_VM_NEXT_OPCODE();
|
||||||
@ -36376,7 +36431,9 @@ static int ZEND_FASTCALL zend_fetch_var_address_helper_SPEC_CV_UNUSED(int type,
|
|||||||
zend_error(E_NOTICE,"Undefined variable: %s", Z_STRVAL_P(varname));
|
zend_error(E_NOTICE,"Undefined variable: %s", Z_STRVAL_P(varname));
|
||||||
/* break missing intentionally */
|
/* break missing intentionally */
|
||||||
case BP_VAR_IS:
|
case BP_VAR_IS:
|
||||||
ZVAL_NULL(retval);
|
//???
|
||||||
|
//ZVAL_NULL(retval);
|
||||||
|
ZVAL_NULL(EX_VAR(opline->result.var));
|
||||||
break;
|
break;
|
||||||
case BP_VAR_RW:
|
case BP_VAR_RW:
|
||||||
zend_error(E_NOTICE,"Undefined variable: %s", Z_STRVAL_P(varname));
|
zend_error(E_NOTICE,"Undefined variable: %s", Z_STRVAL_P(varname));
|
||||||
@ -36411,30 +36468,33 @@ static int ZEND_FASTCALL zend_fetch_var_address_helper_SPEC_CV_UNUSED(int type,
|
|||||||
if (IS_CV != IS_CONST && varname == &tmp_varname) {
|
if (IS_CV != IS_CONST && varname == &tmp_varname) {
|
||||||
zval_dtor(&tmp_varname);
|
zval_dtor(&tmp_varname);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (opline->extended_value & ZEND_FETCH_MAKE_REF) {
|
if (opline->extended_value & ZEND_FETCH_MAKE_REF) {
|
||||||
SEPARATE_ZVAL_TO_MAKE_IS_REF(retval);
|
SEPARATE_ZVAL_TO_MAKE_IS_REF(retval);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (IS_REFCOUNTED(Z_TYPE_P(retval))) Z_ADDREF_P(retval);
|
if (EXPECTED(retval)) {
|
||||||
switch (type) {
|
if (IS_REFCOUNTED(Z_TYPE_P(retval))) Z_ADDREF_P(retval);
|
||||||
case BP_VAR_R:
|
switch (type) {
|
||||||
case BP_VAR_IS:
|
case BP_VAR_R:
|
||||||
ZVAL_COPY_VALUE(EX_VAR(opline->result.var), retval);
|
case BP_VAR_IS:
|
||||||
break;
|
ZVAL_COPY_VALUE(EX_VAR(opline->result.var), retval);
|
||||||
case BP_VAR_UNSET: {
|
break;
|
||||||
//??? zend_free_op free_res;
|
case BP_VAR_UNSET: {
|
||||||
//???
|
//??? zend_free_op free_res;
|
||||||
//??? PZVAL_UNLOCK(*retval, &free_res);
|
//???
|
||||||
//??? if (retval != &EG(uninitialized_zval_ptr)) {
|
//??? PZVAL_UNLOCK(*retval, &free_res);
|
||||||
//??? SEPARATE_ZVAL_IF_NOT_REF(retval);
|
//??? if (retval != &EG(uninitialized_zval_ptr)) {
|
||||||
//??? }
|
//??? SEPARATE_ZVAL_IF_NOT_REF(retval);
|
||||||
//??? PZVAL_LOCK(*retval);
|
//??? }
|
||||||
//??? FREE_OP_VAR_PTR(free_res);
|
//??? PZVAL_LOCK(*retval);
|
||||||
|
//??? FREE_OP_VAR_PTR(free_res);
|
||||||
|
}
|
||||||
|
/* break missing intentionally */
|
||||||
|
default:
|
||||||
|
ZVAL_INDIRECT(EX_VAR(opline->result.var), retval);
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
/* break missing intentionally */
|
|
||||||
default:
|
|
||||||
ZVAL_INDIRECT(EX_VAR(opline->result.var), retval);
|
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
CHECK_EXCEPTION();
|
CHECK_EXCEPTION();
|
||||||
ZEND_VM_NEXT_OPCODE();
|
ZEND_VM_NEXT_OPCODE();
|
||||||
|
Loading…
Reference in New Issue
Block a user