36 uint32_t new_count, i, shift;
41 shiftlist = (uint32_t *)
do_alloca(
sizeof(uint32_t) * op_array->
last, use_heap);
42 i = new_count = shift = 0;
44 for (opline = op_array->
opcodes; opline <
end; opline++) {
54 if (target == opline) {
60 shiftlist[i++] = shift;
67 *new_opline = *opline;
75 op_array->
last = new_count;
79 for (opline = op_array->
opcodes; opline<
end; opline++) {
void zend_optimizer_nop_removal(zend_op_array *op_array, zend_optimizer_ctx *ctx)
unsigned const char * end
zend_try_catch_element * try_catch_array
struct _zend_op_array zend_op_array
void zend_optimizer_migrate_jump(zend_op_array *op_array, zend_op *new_opline, zend_op *opline)
void zend_optimizer_shift_jump(zend_op_array *op_array, zend_op *opline, uint32_t *shiftlist)
#define ZEND_OP1_JMP_ADDR(opline)
struct _zend_optimizer_ctx zend_optimizer_ctx
#define ALLOCA_FLAG(name)
#define do_alloca(p, use_heap)
#define free_alloca(p, use_heap)