diff options
author | Dmitry Stogov <dmitry@zend.com> | 2014-10-07 17:12:12 +0400 |
---|---|---|
committer | Dmitry Stogov <dmitry@zend.com> | 2014-10-07 17:12:12 +0400 |
commit | 33e137d409f552f35bf73ccb76c37b1ee0d65e2f (patch) | |
tree | f2d4921cf02f174e426338964cdbe44eb26a05c1 /Zend/zend_compile.h | |
parent | e24c24c1087c6405e842fdd7afcd84b224eb75bf (diff) | |
download | php-git-33e137d409f552f35bf73ccb76c37b1ee0d65e2f.tar.gz |
Merged EX(frame_kind) and EX(flags) into single word
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))) |