diff options
author | Dmitry Stogov <dmitry@zend.com> | 2018-01-11 17:27:26 +0300 |
---|---|---|
committer | Dmitry Stogov <dmitry@zend.com> | 2018-01-11 17:27:26 +0300 |
commit | 6ba10a03e7b14089e2f53305dec9a6ec06a7eb64 (patch) | |
tree | 9a8da85cf1145c0e52691d6ece4553ac8cc8234b /Zend/zend_generators.c | |
parent | da8204ba1c5e688164b14bd914900df7b84047cb (diff) | |
download | php-git-6ba10a03e7b14089e2f53305dec9a6ec06a7eb64.tar.gz |
Revert "Use ZEND_CLOSURE_OBJECT() macro to resolve closure op_array to closure object through address calculation, instead of op_array->prototype reuse." (this patch is incomplete or wrong)
This reverts commit 781e1573afdc7c336b3577ceabc9c65cafea17e8.
Diffstat (limited to 'Zend/zend_generators.c')
-rw-r--r-- | Zend/zend_generators.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/Zend/zend_generators.c b/Zend/zend_generators.c index 6c2495d69d..755300f92b 100644 --- a/Zend/zend_generators.c +++ b/Zend/zend_generators.c @@ -24,7 +24,6 @@ #include "zend_interfaces.h" #include "zend_exceptions.h" #include "zend_generators.h" -#include "zend_closures.h" ZEND_API zend_class_entry *zend_ce_generator; ZEND_API zend_class_entry *zend_ce_ClosedGeneratorException; @@ -146,7 +145,7 @@ ZEND_API void zend_generator_close(zend_generator *generator, zend_bool finished /* Free closure object */ if (EX_CALL_INFO() & ZEND_CALL_CLOSURE) { - OBJ_RELEASE(ZEND_CLOSURE_OBJECT(EX(func))); + OBJ_RELEASE((zend_object *) EX(func)->common.prototype); } /* Free GC buffer. GC for closed generators doesn't need an allocated buffer */ @@ -336,7 +335,7 @@ static HashTable *zend_generator_get_gc(zval *object, zval **table, int *n) /* { ZVAL_OBJ(gc_buffer++, Z_OBJ(execute_data->This)); } if (EX_CALL_INFO() & ZEND_CALL_CLOSURE) { - ZVAL_OBJ(gc_buffer++, ZEND_CLOSURE_OBJECT(EX(func))); + ZVAL_OBJ(gc_buffer++, (zend_object *) EX(func)->common.prototype); } if (generator->node.children == 0) { |