diff options
| author | Dmitry Stogov <dmitry@zend.com> | 2014-04-18 13:46:36 +0400 |
|---|---|---|
| committer | Dmitry Stogov <dmitry@zend.com> | 2014-04-18 13:46:36 +0400 |
| commit | ea2e1bb1eb7dd0ca1ce6d731190b2a6b2046a645 (patch) | |
| tree | 55bd78ce8067146ef4a89f03d631de7b0dc611b8 /Zend/zend_compile.h | |
| parent | 8a14276701d946f0ade280e67f748cf028273b90 (diff) | |
| download | php-git-ea2e1bb1eb7dd0ca1ce6d731190b2a6b2046a645.tar.gz | |
Optimized zend_leave_helper()
Diffstat (limited to 'Zend/zend_compile.h')
| -rw-r--r-- | Zend/zend_compile.h | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/Zend/zend_compile.h b/Zend/zend_compile.h index 0c3f20f354..6681455992 100644 --- a/Zend/zend_compile.h +++ b/Zend/zend_compile.h @@ -366,6 +366,13 @@ typedef struct _call_slot { zend_bool is_ctor_result_used; } call_slot; +typedef enum _vm_frame_kind { + VM_FRAME_NESTED_FUNCTION, /* stackless VM call to function */ + VM_FRAME_NESTED_CODE, /* stackless VM call to include/require/eval */ + VM_FRAME_TOP_FUNCTION, /* direct VM call to function from external C code */ + VM_FRAME_TOP_CODE /* direct VM call to "main" code from external C code */ +} vm_frame_kind; + struct _zend_execute_data { struct _zend_op *opline; void **run_time_cache; @@ -375,7 +382,7 @@ struct _zend_execute_data { zend_array *symbol_table; struct _zend_execute_data *prev_execute_data; zval old_error_reporting; - zend_bool nested; + vm_frame_kind frame_kind; zval *return_value; // TODO: simplify call sequence and remove current_* and call_* ??? zend_class_entry *current_scope; |
