diff options
author | Dmitry Stogov <dmitry@php.net> | 2008-06-11 13:18:41 +0000 |
---|---|---|
committer | Dmitry Stogov <dmitry@php.net> | 2008-06-11 13:18:41 +0000 |
commit | 76a9a42ee2826b5b26512162b2baea7346a6cc65 (patch) | |
tree | 75ae704638ded24c7f051a84b01eefb705c32661 /Zend/zend_execute.c | |
parent | bc29a3874dea2ec138486566b7c89de910163a9f (diff) | |
download | php-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.c | 24 |
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]; } |