Z_OBJ_HANDLER_P(function_name, get_closure)(function_name, &called_scope, &fbc, &object) == SUCCESS) {
if (fbc->common.fn_flags & ZEND_ACC_CLOSURE) {
/* Delay closure destruction until its invocation */
- ZEND_ASSERT(GC_TYPE(fbc->common.prototype) == IS_OBJECT);
- GC_REFCOUNT(fbc->common.prototype)++;
+ ZEND_ASSERT(GC_TYPE((zend_object*)fbc->common.prototype) == IS_OBJECT);
+ GC_REFCOUNT((zend_object*)fbc->common.prototype)++;
call_info |= ZEND_CALL_CLOSURE;
} else if (object) {
call_info |= ZEND_CALL_RELEASE_THIS;
if (OP2_TYPE & (IS_VAR|IS_CV)) {
ZVAL_DEREF(function_name);
}
- ZEND_ASSERT(GC_TYPE(func->common.prototype) == IS_OBJECT);
- GC_REFCOUNT(func->common.prototype)++;
+ ZEND_ASSERT(GC_TYPE((zend_object*)func->common.prototype) == IS_OBJECT);
+ GC_REFCOUNT((zend_object*)func->common.prototype)++;
call_info |= ZEND_CALL_CLOSURE;
}
called_scope = fcc.called_scope;
} else if (OP1_TYPE == IS_CV) {
if (Z_OPT_REFCOUNTED_P(value)) Z_ADDREF_P(value);
} else if (OP1_TYPE == IS_VAR && ref) {
+ zend_reference *r = Z_REF_P(ref);
+
if (Z_OPT_REFCOUNTED_P(value)) Z_ADDREF_P(value);
- if (UNEXPECTED(--GC_REFCOUNT(ref) == 0)) {
- efree_size(ref, sizeof(zend_reference));
+ if (UNEXPECTED(--GC_REFCOUNT(r) == 0)) {
+ efree_size(r, sizeof(zend_reference));
}
}
ZEND_VM_JMP(OP_JMP_ADDR(opline, opline->op2));
} else if (OP1_TYPE == IS_CV) {
if (Z_OPT_REFCOUNTED_P(value)) Z_ADDREF_P(value);
} else if (OP1_TYPE == IS_VAR && ref) {
+ zend_reference *r = Z_REF_P(ref);
+
if (Z_OPT_REFCOUNTED_P(value)) Z_ADDREF_P(value);
- if (UNEXPECTED(--GC_REFCOUNT(ref) == 0)) {
- efree_size(ref, sizeof(zend_reference));
+ if (UNEXPECTED(--GC_REFCOUNT(r) == 0)) {
+ efree_size(r, sizeof(zend_reference));
}
}
ZEND_VM_JMP(OP_JMP_ADDR(opline, opline->op2));
Z_OBJ_HANDLER_P(function_name, get_closure)(function_name, &called_scope, &fbc, &object) == SUCCESS) {
if (fbc->common.fn_flags & ZEND_ACC_CLOSURE) {
/* Delay closure destruction until its invocation */
- ZEND_ASSERT(GC_TYPE(fbc->common.prototype) == IS_OBJECT);
- GC_REFCOUNT(fbc->common.prototype)++;
+ ZEND_ASSERT(GC_TYPE((zend_object*)fbc->common.prototype) == IS_OBJECT);
+ GC_REFCOUNT((zend_object*)fbc->common.prototype)++;
call_info |= ZEND_CALL_CLOSURE;
} else if (object) {
call_info |= ZEND_CALL_RELEASE_THIS;
Z_OBJ_HANDLER_P(function_name, get_closure)(function_name, &called_scope, &fbc, &object) == SUCCESS) {
if (fbc->common.fn_flags & ZEND_ACC_CLOSURE) {
/* Delay closure destruction until its invocation */
- ZEND_ASSERT(GC_TYPE(fbc->common.prototype) == IS_OBJECT);
- GC_REFCOUNT(fbc->common.prototype)++;
+ ZEND_ASSERT(GC_TYPE((zend_object*)fbc->common.prototype) == IS_OBJECT);
+ GC_REFCOUNT((zend_object*)fbc->common.prototype)++;
call_info |= ZEND_CALL_CLOSURE;
} else if (object) {
call_info |= ZEND_CALL_RELEASE_THIS;
Z_OBJ_HANDLER_P(function_name, get_closure)(function_name, &called_scope, &fbc, &object) == SUCCESS) {
if (fbc->common.fn_flags & ZEND_ACC_CLOSURE) {
/* Delay closure destruction until its invocation */
- ZEND_ASSERT(GC_TYPE(fbc->common.prototype) == IS_OBJECT);
- GC_REFCOUNT(fbc->common.prototype)++;
+ ZEND_ASSERT(GC_TYPE((zend_object*)fbc->common.prototype) == IS_OBJECT);
+ GC_REFCOUNT((zend_object*)fbc->common.prototype)++;
call_info |= ZEND_CALL_CLOSURE;
} else if (object) {
call_info |= ZEND_CALL_RELEASE_THIS;
} else if (IS_CONST == IS_CV) {
if (Z_OPT_REFCOUNTED_P(value)) Z_ADDREF_P(value);
} else if (IS_CONST == IS_VAR && ref) {
+ zend_reference *r = Z_REF_P(ref);
+
if (Z_OPT_REFCOUNTED_P(value)) Z_ADDREF_P(value);
- if (UNEXPECTED(--GC_REFCOUNT(ref) == 0)) {
- efree_size(ref, sizeof(zend_reference));
+ if (UNEXPECTED(--GC_REFCOUNT(r) == 0)) {
+ efree_size(r, sizeof(zend_reference));
}
}
ZEND_VM_JMP(OP_JMP_ADDR(opline, opline->op2));
} else if (IS_CONST == IS_CV) {
if (Z_OPT_REFCOUNTED_P(value)) Z_ADDREF_P(value);
} else if (IS_CONST == IS_VAR && ref) {
+ zend_reference *r = Z_REF_P(ref);
+
if (Z_OPT_REFCOUNTED_P(value)) Z_ADDREF_P(value);
- if (UNEXPECTED(--GC_REFCOUNT(ref) == 0)) {
- efree_size(ref, sizeof(zend_reference));
+ if (UNEXPECTED(--GC_REFCOUNT(r) == 0)) {
+ efree_size(r, sizeof(zend_reference));
}
}
ZEND_VM_JMP(OP_JMP_ADDR(opline, opline->op2));
if (IS_CONST & (IS_VAR|IS_CV)) {
ZVAL_DEREF(function_name);
}
- ZEND_ASSERT(GC_TYPE(func->common.prototype) == IS_OBJECT);
- GC_REFCOUNT(func->common.prototype)++;
+ ZEND_ASSERT(GC_TYPE((zend_object*)func->common.prototype) == IS_OBJECT);
+ GC_REFCOUNT((zend_object*)func->common.prototype)++;
call_info |= ZEND_CALL_CLOSURE;
}
called_scope = fcc.called_scope;
if (IS_CV & (IS_VAR|IS_CV)) {
ZVAL_DEREF(function_name);
}
- ZEND_ASSERT(GC_TYPE(func->common.prototype) == IS_OBJECT);
- GC_REFCOUNT(func->common.prototype)++;
+ ZEND_ASSERT(GC_TYPE((zend_object*)func->common.prototype) == IS_OBJECT);
+ GC_REFCOUNT((zend_object*)func->common.prototype)++;
call_info |= ZEND_CALL_CLOSURE;
}
called_scope = fcc.called_scope;
if ((IS_TMP_VAR|IS_VAR) & (IS_VAR|IS_CV)) {
ZVAL_DEREF(function_name);
}
- ZEND_ASSERT(GC_TYPE(func->common.prototype) == IS_OBJECT);
- GC_REFCOUNT(func->common.prototype)++;
+ ZEND_ASSERT(GC_TYPE((zend_object*)func->common.prototype) == IS_OBJECT);
+ GC_REFCOUNT((zend_object*)func->common.prototype)++;
call_info |= ZEND_CALL_CLOSURE;
}
called_scope = fcc.called_scope;
} else if (IS_TMP_VAR == IS_CV) {
if (Z_OPT_REFCOUNTED_P(value)) Z_ADDREF_P(value);
} else if (IS_TMP_VAR == IS_VAR && ref) {
+ zend_reference *r = Z_REF_P(ref);
+
if (Z_OPT_REFCOUNTED_P(value)) Z_ADDREF_P(value);
- if (UNEXPECTED(--GC_REFCOUNT(ref) == 0)) {
- efree_size(ref, sizeof(zend_reference));
+ if (UNEXPECTED(--GC_REFCOUNT(r) == 0)) {
+ efree_size(r, sizeof(zend_reference));
}
}
ZEND_VM_JMP(OP_JMP_ADDR(opline, opline->op2));
} else if (IS_TMP_VAR == IS_CV) {
if (Z_OPT_REFCOUNTED_P(value)) Z_ADDREF_P(value);
} else if (IS_TMP_VAR == IS_VAR && ref) {
+ zend_reference *r = Z_REF_P(ref);
+
if (Z_OPT_REFCOUNTED_P(value)) Z_ADDREF_P(value);
- if (UNEXPECTED(--GC_REFCOUNT(ref) == 0)) {
- efree_size(ref, sizeof(zend_reference));
+ if (UNEXPECTED(--GC_REFCOUNT(r) == 0)) {
+ efree_size(r, sizeof(zend_reference));
}
}
ZEND_VM_JMP(OP_JMP_ADDR(opline, opline->op2));
} else if (IS_VAR == IS_CV) {
if (Z_OPT_REFCOUNTED_P(value)) Z_ADDREF_P(value);
} else if (IS_VAR == IS_VAR && ref) {
+ zend_reference *r = Z_REF_P(ref);
+
if (Z_OPT_REFCOUNTED_P(value)) Z_ADDREF_P(value);
- if (UNEXPECTED(--GC_REFCOUNT(ref) == 0)) {
- efree_size(ref, sizeof(zend_reference));
+ if (UNEXPECTED(--GC_REFCOUNT(r) == 0)) {
+ efree_size(r, sizeof(zend_reference));
}
}
ZEND_VM_JMP(OP_JMP_ADDR(opline, opline->op2));
} else if (IS_VAR == IS_CV) {
if (Z_OPT_REFCOUNTED_P(value)) Z_ADDREF_P(value);
} else if (IS_VAR == IS_VAR && ref) {
+ zend_reference *r = Z_REF_P(ref);
+
if (Z_OPT_REFCOUNTED_P(value)) Z_ADDREF_P(value);
- if (UNEXPECTED(--GC_REFCOUNT(ref) == 0)) {
- efree_size(ref, sizeof(zend_reference));
+ if (UNEXPECTED(--GC_REFCOUNT(r) == 0)) {
+ efree_size(r, sizeof(zend_reference));
}
}
ZEND_VM_JMP(OP_JMP_ADDR(opline, opline->op2));
} else if (IS_CV == IS_CV) {
if (Z_OPT_REFCOUNTED_P(value)) Z_ADDREF_P(value);
} else if (IS_CV == IS_VAR && ref) {
+ zend_reference *r = Z_REF_P(ref);
+
if (Z_OPT_REFCOUNTED_P(value)) Z_ADDREF_P(value);
- if (UNEXPECTED(--GC_REFCOUNT(ref) == 0)) {
- efree_size(ref, sizeof(zend_reference));
+ if (UNEXPECTED(--GC_REFCOUNT(r) == 0)) {
+ efree_size(r, sizeof(zend_reference));
}
}
ZEND_VM_JMP(OP_JMP_ADDR(opline, opline->op2));
} else if (IS_CV == IS_CV) {
if (Z_OPT_REFCOUNTED_P(value)) Z_ADDREF_P(value);
} else if (IS_CV == IS_VAR && ref) {
+ zend_reference *r = Z_REF_P(ref);
+
if (Z_OPT_REFCOUNTED_P(value)) Z_ADDREF_P(value);
- if (UNEXPECTED(--GC_REFCOUNT(ref) == 0)) {
- efree_size(ref, sizeof(zend_reference));
+ if (UNEXPECTED(--GC_REFCOUNT(r) == 0)) {
+ efree_size(r, sizeof(zend_reference));
}
}
ZEND_VM_JMP(OP_JMP_ADDR(opline, opline->op2));