diff options
Diffstat (limited to 'Zend/zend_compile.h')
-rw-r--r-- | Zend/zend_compile.h | 31 |
1 files changed, 15 insertions, 16 deletions
diff --git a/Zend/zend_compile.h b/Zend/zend_compile.h index 5e45cd791f..4325711dd2 100644 --- a/Zend/zend_compile.h +++ b/Zend/zend_compile.h @@ -221,15 +221,17 @@ typedef struct _zend_try_catch_element { /* function has arguments with type hinting */ #define ZEND_ACC_HAS_TYPE_HINTS 0x10000000 +/* op_array has finally blocks */ +#define ZEND_ACC_HAS_FINALLY_BLOCK 0x20000000 + #define ZEND_CE_IS_TRAIT(ce) (((ce)->ce_flags & ZEND_ACC_TRAIT) == ZEND_ACC_TRAIT) char *zend_visibility_string(uint32_t fn_flags); typedef struct _zend_property_info { uint32_t flags; - zend_string *name; - zend_ulong h; int offset; + zend_string *name; zend_string *doc_comment; zend_class_entry *ce; } zend_property_info; @@ -263,9 +265,9 @@ typedef struct _zend_internal_function_info { struct _zend_op_array { /* Common elements */ zend_uchar type; + uint32_t fn_flags; zend_string *function_name; zend_class_entry *scope; - uint32_t fn_flags; zend_function *prototype; uint32_t num_args; uint32_t required_num_args; @@ -274,37 +276,34 @@ struct _zend_op_array { uint32_t *refcount; - zend_op *opcodes; + uint32_t this_var; + uint32_t last; + zend_op *opcodes; - zend_string **vars; int last_var; - uint32_t T; + zend_string **vars; - zend_brk_cont_element *brk_cont_array; int last_brk_cont; - - zend_try_catch_element *try_catch_array; int last_try_catch; - zend_bool has_finally_block; + zend_brk_cont_element *brk_cont_array; + zend_try_catch_element *try_catch_array; /* static variables support */ HashTable *static_variables; - uint32_t this_var; - zend_string *filename; uint32_t line_start; uint32_t line_end; zend_string *doc_comment; uint32_t early_binding; /* the linked list of delayed declarations */ - zval *literals; int last_literal; + zval *literals; - void **run_time_cache; int last_cache_slot; + void **run_time_cache; void *reserved[ZEND_MAX_RESERVED_RESOURCES]; }; @@ -316,9 +315,9 @@ struct _zend_op_array { typedef struct _zend_internal_function { /* Common elements */ zend_uchar type; + uint32_t fn_flags; zend_string* function_name; zend_class_entry *scope; - uint32_t fn_flags; zend_function *prototype; uint32_t num_args; uint32_t required_num_args; @@ -336,9 +335,9 @@ union _zend_function { struct { zend_uchar type; /* never used */ + uint32_t fn_flags; zend_string *function_name; zend_class_entry *scope; - uint32_t fn_flags; union _zend_function *prototype; uint32_t num_args; uint32_t required_num_args; |