diff options
| -rw-r--r-- | Zend/zend_vm_def.h | 2 | ||||
| -rw-r--r-- | Zend/zend_vm_execute.h | 8 |
2 files changed, 5 insertions, 5 deletions
diff --git a/Zend/zend_vm_def.h b/Zend/zend_vm_def.h index 47ff9b83f9..fbd4ffd34f 100644 --- a/Zend/zend_vm_def.h +++ b/Zend/zend_vm_def.h @@ -2425,7 +2425,7 @@ ZEND_VM_HANDLER(59, ZEND_INIT_FCALL_BY_NAME, ANY, CONST|TMP|VAR|CV) if (object) { GC_REFCOUNT(object)++; } - if (OP2_TYPE == IS_VAR && OP2_FREE && Z_REFCOUNT_P(function_name) == 1 && + if (OP2_TYPE == IS_VAR && Z_REFCOUNT_P(function_name) == 1 && fbc->common.fn_flags & ZEND_ACC_CLOSURE) { /* Delay closure destruction until its invocation */ fbc->common.prototype = (zend_function*)Z_OBJ_P(function_name_ptr); diff --git a/Zend/zend_vm_execute.h b/Zend/zend_vm_execute.h index 5bec5899f5..f3043f2921 100644 --- a/Zend/zend_vm_execute.h +++ b/Zend/zend_vm_execute.h @@ -1512,7 +1512,7 @@ static int ZEND_FASTCALL ZEND_INIT_FCALL_BY_NAME_SPEC_CONST_HANDLER(ZEND_OPCODE if (object) { GC_REFCOUNT(object)++; } - if (IS_CONST == IS_VAR && 0 && Z_REFCOUNT_P(function_name) == 1 && + if (IS_CONST == IS_VAR && Z_REFCOUNT_P(function_name) == 1 && fbc->common.fn_flags & ZEND_ACC_CLOSURE) { /* Delay closure destruction until its invocation */ fbc->common.prototype = (zend_function*)Z_OBJ_P(function_name_ptr); @@ -1849,7 +1849,7 @@ static int ZEND_FASTCALL ZEND_INIT_FCALL_BY_NAME_SPEC_TMP_HANDLER(ZEND_OPCODE_H if (object) { GC_REFCOUNT(object)++; } - if (IS_TMP_VAR == IS_VAR && 1 && Z_REFCOUNT_P(function_name) == 1 && + if (IS_TMP_VAR == IS_VAR && Z_REFCOUNT_P(function_name) == 1 && fbc->common.fn_flags & ZEND_ACC_CLOSURE) { /* Delay closure destruction until its invocation */ fbc->common.prototype = (zend_function*)Z_OBJ_P(function_name_ptr); @@ -2035,7 +2035,7 @@ static int ZEND_FASTCALL ZEND_INIT_FCALL_BY_NAME_SPEC_VAR_HANDLER(ZEND_OPCODE_H if (object) { GC_REFCOUNT(object)++; } - if (IS_VAR == IS_VAR && (free_op2 != NULL) && Z_REFCOUNT_P(function_name) == 1 && + if (IS_VAR == IS_VAR && Z_REFCOUNT_P(function_name) == 1 && fbc->common.fn_flags & ZEND_ACC_CLOSURE) { /* Delay closure destruction until its invocation */ fbc->common.prototype = (zend_function*)Z_OBJ_P(function_name_ptr); @@ -2258,7 +2258,7 @@ static int ZEND_FASTCALL ZEND_INIT_FCALL_BY_NAME_SPEC_CV_HANDLER(ZEND_OPCODE_HA if (object) { GC_REFCOUNT(object)++; } - if (IS_CV == IS_VAR && 0 && Z_REFCOUNT_P(function_name) == 1 && + if (IS_CV == IS_VAR && Z_REFCOUNT_P(function_name) == 1 && fbc->common.fn_flags & ZEND_ACC_CLOSURE) { /* Delay closure destruction until its invocation */ fbc->common.prototype = (zend_function*)Z_OBJ_P(function_name_ptr); |
