summaryrefslogtreecommitdiff
path: root/Zend/zend_execute.c
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_execute.c
parentbc29a3874dea2ec138486566b7c89de910163a9f (diff)
downloadphp-git-76a9a42ee2826b5b26512162b2baea7346a6cc65.tar.gz
- Removed direct executor recursion.
- Use fastcall calling convention in executor on x86.
Diffstat (limited to 'Zend/zend_execute.c')
-rw-r--r--Zend/zend_execute.c24
1 files changed, 2 insertions, 22 deletions
diff --git a/Zend/zend_execute.c b/Zend/zend_execute.c
index 6b498e4f2c..949a784a2a 100644
--- a/Zend/zend_execute.c
+++ b/Zend/zend_execute.c
@@ -1314,29 +1314,9 @@ ZEND_API void execute_internal(zend_execute_data *execute_data_ptr, int return_v
#define ZEND_VM_INC_OPCODE() \
EX(opline)++
-#define ZEND_VM_EXIT_FROM_EXECUTE_LOOP() do { \
- EG(in_execution) = EX(original_in_execution); \
- EG(current_execute_data) = EX(prev_execute_data); \
- EG(opline_ptr) = NULL; \
- if (!EG(active_symbol_table)) { \
- int n = EX(op_array)->last_var; \
- while (n > 0) { \
- --n; \
- if (EX(CVs)[n]) { \
- zval_ptr_dtor(EX(CVs)[n]); \
- } \
- } \
- } \
- zend_vm_stack_free(execute_data TSRMLS_CC); \
- } while (0);
-
-#define ZEND_VM_RETURN_FROM_EXECUTE_LOOP() \
- ZEND_VM_EXIT_FROM_EXECUTE_LOOP() \
- ZEND_VM_RETURN()
-
#include "zend_vm_execute.h"
-ZEND_API int zend_set_user_opcode_handler(zend_uchar opcode, opcode_handler_t handler)
+ZEND_API int zend_set_user_opcode_handler(zend_uchar opcode, user_opcode_handler_t handler)
{
if (opcode != ZEND_USER_OPCODE) {
zend_user_opcodes[opcode] = ZEND_USER_OPCODE;
@@ -1346,7 +1326,7 @@ ZEND_API int zend_set_user_opcode_handler(zend_uchar opcode, opcode_handler_t ha
return FAILURE;
}
-ZEND_API opcode_handler_t zend_get_user_opcode_handler(zend_uchar opcode)
+ZEND_API user_opcode_handler_t zend_get_user_opcode_handler(zend_uchar opcode)
{
return zend_user_opcode_handlers[opcode];
}