diff options
author | Anatol Belski <ab@php.net> | 2015-07-10 12:06:56 +0200 |
---|---|---|
committer | Anatol Belski <ab@php.net> | 2015-07-10 12:06:56 +0200 |
commit | ad8a73dd55c087de465ad80e8715611693bb1460 (patch) | |
tree | f76e6e2950a1e1cd958dab53e4100ab93c640938 /sapi/phpdbg/phpdbg_opcode.c | |
parent | ceefc0947a12376eb6612376fd750744ac054f5c (diff) | |
download | php-git-php-7.0.0beta1.tar.gz |
Revert "Fixed bug #62210 (Exceptions can leak temporary variables. As a part of the fix serious refactoring was done. op_array->brk_cont_array was removed, and replaced with more general and speed efficient op_array->T_liveliness. ZEND_GOTO opcode is always replaced by ZEND_JMP at compile time). (Bob, Dmitry, Laruence)"php-7.0.0beta1
This reverts commit 5ee841325901a4b040cfea56292a24702fe224d9.
Diffstat (limited to 'sapi/phpdbg/phpdbg_opcode.c')
-rw-r--r-- | sapi/phpdbg/phpdbg_opcode.c | 40 |
1 files changed, 1 insertions, 39 deletions
diff --git a/sapi/phpdbg/phpdbg_opcode.c b/sapi/phpdbg/phpdbg_opcode.c index 5b93755bf9..3af52f17cd 100644 --- a/sapi/phpdbg/phpdbg_opcode.c +++ b/sapi/phpdbg/phpdbg_opcode.c @@ -24,7 +24,6 @@ #include "phpdbg_opcode.h" #include "phpdbg_utils.h" #include "ext/standard/php_string.h" -#include "zend_smart_str.h" ZEND_EXTERN_MODULE_GLOBALS(phpdbg); @@ -57,6 +56,7 @@ char *phpdbg_decode_opline(zend_op_array *ops, zend_op *op) /*{{{ */ /* OP1 */ switch (op->opcode) { case ZEND_JMP: + case ZEND_GOTO: case ZEND_FAST_CALL: asprintf(&decode[1], "J%ld", OP_JMP_ADDR(op, op->op1) - ops->opcodes); break; @@ -114,44 +114,6 @@ char *phpdbg_decode_opline(zend_op_array *ops, zend_op *op) /*{{{ */ break; } -#if 1 - if (ops->T_liveliness) { - uint32_t *var = ops->T_liveliness + (op - ops->opcodes); - - if (*var != (uint32_t)-1) { - smart_str str = {0}; - - var = ops->T_liveliness + (*var); - smart_str_appends(&str, "; [@"); - smart_str_append_long(&str, EX_VAR_TO_NUM(((*var) & ~0x3)) - ops->last_var); - while (*(++var) != (uint32_t)-1) { - smart_str_appends(&str, ", @"); - smart_str_append_long(&str, EX_VAR_TO_NUM(((*var) & ~0x3)) - ops->last_var); - } - smart_str_appendc(&str, ']'); - smart_str_0(&str); - - asprintf(&decode[0], - "%-20s %-20s %-20s%-20s", - decode[1] ? decode[1] : "", - decode[2] ? decode[2] : "", - decode[3] ? decode[3] : "", - ZSTR_VAL(str.s)); - - smart_str_free(&str); - - if (decode[1]) - free(decode[1]); - if (decode[2]) - free(decode[2]); - if (decode[3]) - free(decode[3]); - - return decode[0]; - } - } -#endif - asprintf(&decode[0], "%-20s %-20s %-20s", decode[1] ? decode[1] : "", |