diff options
| author | Dmitry Stogov <dmitry@zend.com> | 2020-09-18 12:55:58 +0300 |
|---|---|---|
| committer | Dmitry Stogov <dmitry@zend.com> | 2020-09-18 12:55:58 +0300 |
| commit | d5d31ea3b32a75697bb2c2ee95acedd29ef69708 (patch) | |
| tree | 2ee893002d4272df1395cd0943198254cafd557b /Zend/zend_generators.c | |
| parent | b4c2670f857bd23c8b0922bd7f0f4a25d91f28d2 (diff) | |
| download | php-git-d5d31ea3b32a75697bb2c2ee95acedd29ef69708.tar.gz | |
Cleanup observer API and add JIT support
Diffstat (limited to 'Zend/zend_generators.c')
| -rw-r--r-- | Zend/zend_generators.c | 13 |
1 files changed, 2 insertions, 11 deletions
diff --git a/Zend/zend_generators.c b/Zend/zend_generators.c index baca12f66b..4e2351869d 100644 --- a/Zend/zend_generators.c +++ b/Zend/zend_generators.c @@ -859,20 +859,11 @@ try_again: if (!ZEND_OBSERVER_ENABLED) { zend_execute_ex(generator->execute_data); } else { - zend_op_array *op_array = &generator->execute_data->func->op_array; - void *observer_handlers = ZEND_OBSERVER_HANDLERS(op_array); - if (!observer_handlers) { - zend_observer_fcall_install((zend_function *)op_array); - observer_handlers = ZEND_OBSERVER_HANDLERS(op_array); - } - ZEND_ASSERT(observer_handlers); - if (observer_handlers != ZEND_OBSERVER_NOT_OBSERVED) { - zend_observe_fcall_begin(observer_handlers, generator->execute_data); - } + zend_observer_generator_resume(generator->execute_data); zend_execute_ex(generator->execute_data); if (generator->execute_data) { /* On the final return, this will be called from ZEND_GENERATOR_RETURN */ - zend_observer_maybe_fcall_call_end(generator->execute_data, &generator->value); + zend_observer_fcall_end(generator->execute_data, &generator->value); } } generator->flags &= ~ZEND_GENERATOR_CURRENTLY_RUNNING; |
