summaryrefslogtreecommitdiff
path: root/sapi/phpdbg/phpdbg_opcode.c
diff options
context:
space:
mode:
authorAnatol Belski <ab@php.net>2015-07-10 12:06:56 +0200
committerAnatol Belski <ab@php.net>2015-07-10 12:06:56 +0200
commitad8a73dd55c087de465ad80e8715611693bb1460 (patch)
treef76e6e2950a1e1cd958dab53e4100ab93c640938 /sapi/phpdbg/phpdbg_opcode.c
parentceefc0947a12376eb6612376fd750744ac054f5c (diff)
downloadphp-git-ad8a73dd55c087de465ad80e8715611693bb1460.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.c40
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] : "",