summaryrefslogtreecommitdiff
path: root/Zend/zend_execute.c
diff options
context:
space:
mode:
authorNikita Popov <nikic@php.net>2015-02-20 12:59:56 +0100
committerNikita Popov <nikic@php.net>2015-02-28 21:20:37 +0100
commitfcdb6e0811953b2aa57f755632add0f67b01e6bc (patch)
treea6c4ead7da3c3be15cf83fd7bab39d3234c3dc3f /Zend/zend_execute.c
parent79f26e9ca562cc4e692913432299cb9bbf906478 (diff)
downloadphp-git-fcdb6e0811953b2aa57f755632add0f67b01e6bc.tar.gz
WIP
Diffstat (limited to 'Zend/zend_execute.c')
-rw-r--r--Zend/zend_execute.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/Zend/zend_execute.c b/Zend/zend_execute.c
index 539b1e4dd7..e42952ee91 100644
--- a/Zend/zend_execute.c
+++ b/Zend/zend_execute.c
@@ -2022,6 +2022,16 @@ static zend_always_inline void zend_vm_stack_extend_call_frame(zend_execute_data
}
/* }}} */
+static zend_always_inline zend_generator *zend_get_running_generator(zend_execute_data *execute_data) /* {{{ */
+{
+ /* The generator object is stored in EX(return_value) */
+ zend_generator *generator = (zend_generator *) EX(return_value);
+ /* However control may currently be delegated to another generator.
+ * That's the one we're interested in. */
+ return generator->current_generator;
+}
+/* }}} */
+
#define ZEND_VM_NEXT_OPCODE() \
CHECK_SYMBOL_TABLES() \
ZEND_VM_INC_OPCODE(); \