diff --git a/ChangeLog b/ChangeLog index 85b1cd6..7a8e9f1 100644 --- a/ChangeLog +++ b/ChangeLog @@ -8,6 +8,7 @@ ChangeLog * fix random crash when cache is reinitialized yet failed (Thanks to Brad Baker for generating crash dump) * fix locking impl: improve stability on threaded env (Thanks to Mircea Nicolae for reproducing the bug) * diagnosis: undefined variable when ini is not found + * fix ZEND_JMP_SET_VAR 3.0.0 2012-10-29 API Changes diff --git a/NEWS b/NEWS index 3344a03..52df16e 100644 --- a/NEWS +++ b/NEWS @@ -4,6 +4,7 @@ ChangeLog * bug fixes * improve compatibility with "the ionCube PHP Loader", Zend Optimizer * improve stability + * improve support for PHP_5_4 * improve stability on threaded env 3.0.0 2012-10-29 diff --git a/mod_optimizer/xc_optimizer.c b/mod_optimizer/xc_optimizer.c index 3ee3edd..8ff15e1 100644 --- a/mod_optimizer/xc_optimizer.c +++ b/mod_optimizer/xc_optimizer.c @@ -183,6 +183,9 @@ static int op_get_flowinfo(op_flowinfo_t *fi, zend_op *opline) /* {{{ */ #ifdef ZEND_JMP_SET case ZEND_JMP_SET: #endif +#ifdef ZEND_JMP_SET_VAR + case ZEND_JMP_SET_VAR: +#endif #ifdef ZEND_JMP_NO_CTOR case ZEND_JMP_NO_CTOR: #endif diff --git a/xcache/xc_utils.c b/xcache/xc_utils.c index fa8af52..68a901e 100644 --- a/xcache/xc_utils.c +++ b/xcache/xc_utils.c @@ -247,6 +247,9 @@ int xc_redo_pass_two(zend_op_array *op_array TSRMLS_DC) /* {{{ */ case ZEND_JMPNZ_EX: #ifdef ZEND_JMP_SET case ZEND_JMP_SET: +#endif +#ifdef ZEND_JMP_SET_VAR + case ZEND_JMP_SET_VAR: #endif assert(Z_OP(opline->op2).opline_num < op_array->last); Z_OP(opline->op2).jmp_addr = op_array->opcodes + Z_OP(opline->op2).opline_num; @@ -356,6 +359,9 @@ int xc_foreach_early_binding_class(zend_op_array *op_array, xc_foreach_early_bin case ZEND_JMPNZ_EX: #ifdef ZEND_JMP_SET case ZEND_JMP_SET: +#endif +#ifdef ZEND_JMP_SET_VAR + case ZEND_JMP_SET_VAR: #endif next = begin + Z_OP(opline->op2).opline_num; break;