summaryrefslogtreecommitdiff
path: root/Zend/zend_compile.h
diff options
context:
space:
mode:
authorDmitry Stogov <dmitry@php.net>2008-06-11 13:18:41 +0000
committerDmitry Stogov <dmitry@php.net>2008-06-11 13:18:41 +0000
commit76a9a42ee2826b5b26512162b2baea7346a6cc65 (patch)
tree75ae704638ded24c7f051a84b01eefb705c32661 /Zend/zend_compile.h
parentbc29a3874dea2ec138486566b7c89de910163a9f (diff)
downloadphp-git-76a9a42ee2826b5b26512162b2baea7346a6cc65.tar.gz
- Removed direct executor recursion.
- Use fastcall calling convention in executor on x86.
Diffstat (limited to 'Zend/zend_compile.h')
-rw-r--r--Zend/zend_compile.h11
1 files changed, 9 insertions, 2 deletions
diff --git a/Zend/zend_compile.h b/Zend/zend_compile.h
index d1faf2509c..7198715b6f 100644
--- a/Zend/zend_compile.h
+++ b/Zend/zend_compile.h
@@ -73,7 +73,8 @@ typedef struct _zend_execute_data zend_execute_data;
#define ZEND_OPCODE_HANDLER_ARGS zend_execute_data *execute_data TSRMLS_DC
#define ZEND_OPCODE_HANDLER_ARGS_PASSTHRU execute_data TSRMLS_CC
-typedef int (*opcode_handler_t) (ZEND_OPCODE_HANDLER_ARGS);
+typedef int (*user_opcode_handler_t) (ZEND_OPCODE_HANDLER_ARGS);
+typedef int (ZEND_FASTCALL *opcode_handler_t) (ZEND_OPCODE_HANDLER_ARGS);
extern ZEND_API opcode_handler_t *zend_opcode_handlers;
@@ -309,10 +310,16 @@ struct _zend_execute_data {
zval *object;
union _temp_variable *Ts;
zval ***CVs;
- zend_bool original_in_execution;
HashTable *symbol_table;
struct _zend_execute_data *prev_execute_data;
zval *old_error_reporting;
+ zend_bool nested;
+ zval **original_return_value;
+ zend_class_entry *current_scope;
+ zend_class_entry *current_called_scope;
+ zval *current_this;
+ zval *current_object;
+ struct _zend_op *call_opline;
};
#define EX(element) execute_data.element