static inline uint32_t zend_emit_cond_jump(zend_uchar opcode, znode *cond, uint32_t opnum_target) /* {{{ */
{
uint32_t opnum = get_next_op_number();
- zend_op *opline = CG(active_op_array)->opcodes + opnum - 1;
+ zend_op *opline;
if (cond->op_type == IS_TMP_VAR && opnum > 0) {
opline = CG(active_op_array)->opcodes + opnum - 1;
fprintf(stderr, "CV%d($%s)", var_num, op_array->vars[var_num]->val);
} else if (var_type == IS_VAR) {
fprintf(stderr, "V%d", var_num);
- } else if (var_type == IS_TMP_VAR || !(var_type & (IS_VAR|IS_CV))) {
+ } else if ((var_type & (IS_VAR|IS_TMP_VAR)) == IS_TMP_VAR) {
fprintf(stderr, "T%d", var_num);
} else {
fprintf(stderr, "X%d", var_num);
case ZEND_IN_ARRAY:
case ZEND_ARRAY_KEY_EXISTS:
if (opline->result_type & IS_TMP_VAR) {
- /* reinitialize result_type od smart branch instructions */
+ /* reinitialize result_type of smart branch instructions */
if (opline + 1 < end) {
if ((opline+1)->opcode == ZEND_JMPZ
&& (opline+1)->op1_type == IS_TMP_VAR
case ZEND_IN_ARRAY:
case ZEND_ARRAY_KEY_EXISTS:
if (opline->result_type & IS_TMP_VAR) {
- /* reinitialize result_type od smart branch instructions */
+ /* reinitialize result_type of smart branch instructions */
if (opline + 1 < end) {
if ((opline+1)->opcode == ZEND_JMPZ
&& (opline+1)->op1_type == IS_TMP_VAR