diff options
| author | Dmitry Stogov <dmitry@zend.com> | 2016-03-16 03:36:58 +0300 |
|---|---|---|
| committer | Dmitry Stogov <dmitry@zend.com> | 2016-03-16 03:36:58 +0300 |
| commit | 59d00b8bcc05f72b29c3c768542b2bb6e69e1af4 (patch) | |
| tree | b46057c07b5d5bc2f7ee911c19db6c97c6800ec8 /Zend/zend_execute.c | |
| parent | 4165ae14204954bfe6497f1d724636da02bfdfd2 (diff) | |
| download | php-git-59d00b8bcc05f72b29c3c768542b2bb6e69e1af4.tar.gz | |
Transparently introduce type-specialized opcode handlers.
This affects only PHP VM, and doesn't change anything else.
Diffstat (limited to 'Zend/zend_execute.c')
| -rw-r--r-- | Zend/zend_execute.c | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/Zend/zend_execute.c b/Zend/zend_execute.c index 2db03c4043..2b18ef95b3 100644 --- a/Zend/zend_execute.c +++ b/Zend/zend_execute.c @@ -40,6 +40,7 @@ #include "zend_vm.h" #include "zend_dtrace.h" #include "zend_inheritance.h" +#include "zend_type_info.h" /* Virtual current working directory support */ #include "zend_virtual_cwd.h" @@ -2610,6 +2611,20 @@ void zend_cleanup_unfinished_execution(zend_execute_data *execute_data, uint32_t cleanup_live_vars(execute_data, op_num, catch_op_num); } +static void zend_swap_operands(zend_op *op) /* {{{ */ +{ + znode_op tmp; + zend_uchar tmp_type; + + tmp = op->op1; + tmp_type = op->op1_type; + op->op1 = op->op2; + op->op1_type = op->op2_type; + op->op2 = tmp; + op->op2_type = tmp_type; +} +/* }}} */ + #ifdef HAVE_GCC_GLOBAL_REGS # if defined(__GNUC__) && ZEND_GCC_VERSION >= 4008 && defined(i386) # define ZEND_VM_FP_GLOBAL_REG "%esi" |
