diff options
Diffstat (limited to 'Zend/zend_compile.h')
-rw-r--r-- | Zend/zend_compile.h | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/Zend/zend_compile.h b/Zend/zend_compile.h index c13184c7d8..5490263f0e 100644 --- a/Zend/zend_compile.h +++ b/Zend/zend_compile.h @@ -360,9 +360,8 @@ struct _zend_execute_data { zend_execute_data *call; /* current call */ void **run_time_cache; zend_function *func; /* executed op_array */ - uint32_t num_args; - zend_uchar flags; - zend_uchar frame_kind; + uint32_t num_args; + uint32_t frame_info; zend_class_entry *called_scope; zval This; zend_execute_data *prev_execute_data; @@ -374,8 +373,15 @@ struct _zend_execute_data { zval old_error_reporting; }; -#define ZEND_CALL_CTOR (1 << 0) -#define ZEND_CALL_CTOR_RESULT_UNUSED (1 << 1) +#define VM_FRAME_KIND_MASK 0x000000ff +#define VM_FRAME_FLAGS_MASK 0xffffff00 + +#define ZEND_CALL_CTOR (1 << 8) +#define ZEND_CALL_CTOR_RESULT_UNUSED (1 << 9) + +#define VM_FRAME_INFO(kind, flags) ((kind) | (flags)) +#define VM_FRAME_KIND(info) ((info) & VM_FRAME_KIND_MASK) +#define VM_FRAME_FLAGS(info) ((info) & VM_FRAME_FLAGS_MASK) #define ZEND_CALL_FRAME_SLOT \ ((ZEND_MM_ALIGNED_SIZE(sizeof(zend_execute_data)) + ZEND_MM_ALIGNED_SIZE(sizeof(zval)) - 1) / ZEND_MM_ALIGNED_SIZE(sizeof(zval))) |