summaryrefslogtreecommitdiff
path: root/Zend/zend_compile.h
diff options
context:
space:
mode:
Diffstat (limited to 'Zend/zend_compile.h')
-rw-r--r--Zend/zend_compile.h31
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;