}
}
cur_block->len = end - cur_block->start_opline;
- cur_block->next = &blocks[op_array->last+1];
+ cur_block->next = &blocks[op_array->last + 1];
print_block(cur_block, op_array->opcodes, "");
- /* The op_array doesn't have BRK, CONT, GOTO opcodes anyway */
- if (op_array->brk_cont_array) {
- efree(op_array->brk_cont_array);
- }
- op_array->brk_cont_array = NULL;
- op_array->last_brk_cont = 0;
-
- return blocks;
+ return 1;
}
/* CFG back references management */
}
/* Rebuild plain (optimized) op_array from CFG */
-static void assemble_code_blocks(zend_code_block *blocks, zend_op_array *op_array)
+static void assemble_code_blocks(zend_cfg *cfg, zend_op_array *op_array)
{
- zend_op *new_opcodes = emalloc(op_array->last*sizeof(zend_op));
+ zend_code_block *blocks = cfg->blocks;
+ zend_op *new_opcodes = emalloc(op_array->last * sizeof(zend_op));
zend_op *opline = new_opcodes;
zend_code_block *cur_block = blocks;