mirror of
https://github.com/php/php-src.git
synced 2026-04-11 18:13:00 +02:00
Fixed ++/-- of references
This commit is contained in:
@@ -789,7 +789,11 @@ ZEND_VM_HANDLER(34, ZEND_PRE_INC, VAR|CV, ANY)
|
||||
ZEND_VM_NEXT_OPCODE();
|
||||
}
|
||||
|
||||
SEPARATE_ZVAL_IF_NOT_REF(var_ptr);
|
||||
if (Z_TYPE_P(var_ptr) == IS_REFERENCE) {
|
||||
var_ptr = Z_REFVAL_P(var_ptr);
|
||||
} else {
|
||||
SEPARATE_ZVAL(var_ptr);
|
||||
}
|
||||
|
||||
if (UNEXPECTED(Z_TYPE_P(var_ptr) == IS_OBJECT)
|
||||
&& Z_OBJ_HANDLER_P(var_ptr, get)
|
||||
@@ -834,7 +838,11 @@ ZEND_VM_HANDLER(35, ZEND_PRE_DEC, VAR|CV, ANY)
|
||||
ZEND_VM_NEXT_OPCODE();
|
||||
}
|
||||
|
||||
SEPARATE_ZVAL_IF_NOT_REF(var_ptr);
|
||||
if (Z_TYPE_P(var_ptr) == IS_REFERENCE) {
|
||||
var_ptr = Z_REFVAL_P(var_ptr);
|
||||
} else {
|
||||
SEPARATE_ZVAL(var_ptr);
|
||||
}
|
||||
|
||||
if (UNEXPECTED(Z_TYPE_P(var_ptr) == IS_OBJECT)
|
||||
&& Z_OBJ_HANDLER_P(var_ptr, get)
|
||||
@@ -880,7 +888,11 @@ ZEND_VM_HANDLER(36, ZEND_POST_INC, VAR|CV, ANY)
|
||||
retval = EX_VAR(opline->result.var);
|
||||
ZVAL_DUP(retval, var_ptr);
|
||||
|
||||
SEPARATE_ZVAL_IF_NOT_REF(var_ptr);
|
||||
if (Z_TYPE_P(var_ptr) == IS_REFERENCE) {
|
||||
var_ptr = Z_REFVAL_P(var_ptr);
|
||||
} else {
|
||||
SEPARATE_ZVAL(var_ptr);
|
||||
}
|
||||
|
||||
if (UNEXPECTED(Z_TYPE_P(var_ptr) == IS_OBJECT)
|
||||
&& Z_OBJ_HANDLER_P(var_ptr, get)
|
||||
@@ -922,7 +934,11 @@ ZEND_VM_HANDLER(37, ZEND_POST_DEC, VAR|CV, ANY)
|
||||
retval = EX_VAR(opline->result.var);
|
||||
ZVAL_DUP(retval, var_ptr);
|
||||
|
||||
SEPARATE_ZVAL_IF_NOT_REF(var_ptr);
|
||||
if (Z_TYPE_P(var_ptr) == IS_REFERENCE) {
|
||||
var_ptr = Z_REFVAL_P(var_ptr);
|
||||
} else {
|
||||
SEPARATE_ZVAL(var_ptr);
|
||||
}
|
||||
|
||||
if (UNEXPECTED(Z_TYPE_P(var_ptr) == IS_OBJECT)
|
||||
&& Z_OBJ_HANDLER_P(var_ptr, get)
|
||||
@@ -1746,7 +1762,7 @@ ZEND_VM_HANDLER(39, ZEND_ASSIGN_REF, VAR|CV, VAR|CV)
|
||||
}
|
||||
|
||||
//??? FREE_OP1_VAR_PTR();
|
||||
//??? FREE_OP2_VAR_PTR();
|
||||
FREE_OP2_VAR_PTR();
|
||||
|
||||
CHECK_EXCEPTION();
|
||||
ZEND_VM_NEXT_OPCODE();
|
||||
|
||||
@@ -12124,7 +12124,11 @@ static int ZEND_FASTCALL ZEND_PRE_INC_SPEC_VAR_HANDLER(ZEND_OPCODE_HANDLER_ARGS
|
||||
ZEND_VM_NEXT_OPCODE();
|
||||
}
|
||||
|
||||
SEPARATE_ZVAL_IF_NOT_REF(var_ptr);
|
||||
if (Z_TYPE_P(var_ptr) == IS_REFERENCE) {
|
||||
var_ptr = Z_REFVAL_P(var_ptr);
|
||||
} else {
|
||||
SEPARATE_ZVAL(var_ptr);
|
||||
}
|
||||
|
||||
if (UNEXPECTED(Z_TYPE_P(var_ptr) == IS_OBJECT)
|
||||
&& Z_OBJ_HANDLER_P(var_ptr, get)
|
||||
@@ -12169,7 +12173,11 @@ static int ZEND_FASTCALL ZEND_PRE_DEC_SPEC_VAR_HANDLER(ZEND_OPCODE_HANDLER_ARGS
|
||||
ZEND_VM_NEXT_OPCODE();
|
||||
}
|
||||
|
||||
SEPARATE_ZVAL_IF_NOT_REF(var_ptr);
|
||||
if (Z_TYPE_P(var_ptr) == IS_REFERENCE) {
|
||||
var_ptr = Z_REFVAL_P(var_ptr);
|
||||
} else {
|
||||
SEPARATE_ZVAL(var_ptr);
|
||||
}
|
||||
|
||||
if (UNEXPECTED(Z_TYPE_P(var_ptr) == IS_OBJECT)
|
||||
&& Z_OBJ_HANDLER_P(var_ptr, get)
|
||||
@@ -12215,7 +12223,11 @@ static int ZEND_FASTCALL ZEND_POST_INC_SPEC_VAR_HANDLER(ZEND_OPCODE_HANDLER_ARG
|
||||
retval = EX_VAR(opline->result.var);
|
||||
ZVAL_DUP(retval, var_ptr);
|
||||
|
||||
SEPARATE_ZVAL_IF_NOT_REF(var_ptr);
|
||||
if (Z_TYPE_P(var_ptr) == IS_REFERENCE) {
|
||||
var_ptr = Z_REFVAL_P(var_ptr);
|
||||
} else {
|
||||
SEPARATE_ZVAL(var_ptr);
|
||||
}
|
||||
|
||||
if (UNEXPECTED(Z_TYPE_P(var_ptr) == IS_OBJECT)
|
||||
&& Z_OBJ_HANDLER_P(var_ptr, get)
|
||||
@@ -12257,7 +12269,11 @@ static int ZEND_FASTCALL ZEND_POST_DEC_SPEC_VAR_HANDLER(ZEND_OPCODE_HANDLER_ARG
|
||||
retval = EX_VAR(opline->result.var);
|
||||
ZVAL_DUP(retval, var_ptr);
|
||||
|
||||
SEPARATE_ZVAL_IF_NOT_REF(var_ptr);
|
||||
if (Z_TYPE_P(var_ptr) == IS_REFERENCE) {
|
||||
var_ptr = Z_REFVAL_P(var_ptr);
|
||||
} else {
|
||||
SEPARATE_ZVAL(var_ptr);
|
||||
}
|
||||
|
||||
if (UNEXPECTED(Z_TYPE_P(var_ptr) == IS_OBJECT)
|
||||
&& Z_OBJ_HANDLER_P(var_ptr, get)
|
||||
@@ -19222,7 +19238,7 @@ static int ZEND_FASTCALL ZEND_ASSIGN_REF_SPEC_VAR_VAR_HANDLER(ZEND_OPCODE_HANDL
|
||||
}
|
||||
|
||||
//??? if (free_op1.var) {zval_ptr_dtor_nogc(free_op1.var);};
|
||||
//??? if (free_op2.var) {zval_ptr_dtor_nogc(free_op2.var);};
|
||||
if (free_op2.var) {zval_ptr_dtor_nogc(free_op2.var);};
|
||||
|
||||
CHECK_EXCEPTION();
|
||||
ZEND_VM_NEXT_OPCODE();
|
||||
@@ -22483,7 +22499,6 @@ static int ZEND_FASTCALL ZEND_ASSIGN_REF_SPEC_VAR_CV_HANDLER(ZEND_OPCODE_HANDLE
|
||||
}
|
||||
|
||||
//??? if (free_op1.var) {zval_ptr_dtor_nogc(free_op1.var);};
|
||||
//??? ;
|
||||
|
||||
CHECK_EXCEPTION();
|
||||
ZEND_VM_NEXT_OPCODE();
|
||||
@@ -28817,7 +28832,11 @@ static int ZEND_FASTCALL ZEND_PRE_INC_SPEC_CV_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
|
||||
ZEND_VM_NEXT_OPCODE();
|
||||
}
|
||||
|
||||
SEPARATE_ZVAL_IF_NOT_REF(var_ptr);
|
||||
if (Z_TYPE_P(var_ptr) == IS_REFERENCE) {
|
||||
var_ptr = Z_REFVAL_P(var_ptr);
|
||||
} else {
|
||||
SEPARATE_ZVAL(var_ptr);
|
||||
}
|
||||
|
||||
if (UNEXPECTED(Z_TYPE_P(var_ptr) == IS_OBJECT)
|
||||
&& Z_OBJ_HANDLER_P(var_ptr, get)
|
||||
@@ -28861,7 +28880,11 @@ static int ZEND_FASTCALL ZEND_PRE_DEC_SPEC_CV_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
|
||||
ZEND_VM_NEXT_OPCODE();
|
||||
}
|
||||
|
||||
SEPARATE_ZVAL_IF_NOT_REF(var_ptr);
|
||||
if (Z_TYPE_P(var_ptr) == IS_REFERENCE) {
|
||||
var_ptr = Z_REFVAL_P(var_ptr);
|
||||
} else {
|
||||
SEPARATE_ZVAL(var_ptr);
|
||||
}
|
||||
|
||||
if (UNEXPECTED(Z_TYPE_P(var_ptr) == IS_OBJECT)
|
||||
&& Z_OBJ_HANDLER_P(var_ptr, get)
|
||||
@@ -28906,7 +28929,11 @@ static int ZEND_FASTCALL ZEND_POST_INC_SPEC_CV_HANDLER(ZEND_OPCODE_HANDLER_ARGS
|
||||
retval = EX_VAR(opline->result.var);
|
||||
ZVAL_DUP(retval, var_ptr);
|
||||
|
||||
SEPARATE_ZVAL_IF_NOT_REF(var_ptr);
|
||||
if (Z_TYPE_P(var_ptr) == IS_REFERENCE) {
|
||||
var_ptr = Z_REFVAL_P(var_ptr);
|
||||
} else {
|
||||
SEPARATE_ZVAL(var_ptr);
|
||||
}
|
||||
|
||||
if (UNEXPECTED(Z_TYPE_P(var_ptr) == IS_OBJECT)
|
||||
&& Z_OBJ_HANDLER_P(var_ptr, get)
|
||||
@@ -28947,7 +28974,11 @@ static int ZEND_FASTCALL ZEND_POST_DEC_SPEC_CV_HANDLER(ZEND_OPCODE_HANDLER_ARGS
|
||||
retval = EX_VAR(opline->result.var);
|
||||
ZVAL_DUP(retval, var_ptr);
|
||||
|
||||
SEPARATE_ZVAL_IF_NOT_REF(var_ptr);
|
||||
if (Z_TYPE_P(var_ptr) == IS_REFERENCE) {
|
||||
var_ptr = Z_REFVAL_P(var_ptr);
|
||||
} else {
|
||||
SEPARATE_ZVAL(var_ptr);
|
||||
}
|
||||
|
||||
if (UNEXPECTED(Z_TYPE_P(var_ptr) == IS_OBJECT)
|
||||
&& Z_OBJ_HANDLER_P(var_ptr, get)
|
||||
@@ -35399,7 +35430,7 @@ static int ZEND_FASTCALL ZEND_ASSIGN_REF_SPEC_CV_VAR_HANDLER(ZEND_OPCODE_HANDLE
|
||||
}
|
||||
|
||||
//??? ;
|
||||
//??? if (free_op2.var) {zval_ptr_dtor_nogc(free_op2.var);};
|
||||
if (free_op2.var) {zval_ptr_dtor_nogc(free_op2.var);};
|
||||
|
||||
CHECK_EXCEPTION();
|
||||
ZEND_VM_NEXT_OPCODE();
|
||||
@@ -38401,7 +38432,6 @@ static int ZEND_FASTCALL ZEND_ASSIGN_REF_SPEC_CV_CV_HANDLER(ZEND_OPCODE_HANDLER
|
||||
ZVAL_COPY(EX_VAR(opline->result.var), variable_ptr);
|
||||
}
|
||||
|
||||
//??? ;
|
||||
//??? ;
|
||||
|
||||
CHECK_EXCEPTION();
|
||||
|
||||
Reference in New Issue
Block a user