Lines Matching refs:op_array

33 static int zend_optimizer_lookup_cv(zend_op_array *op_array, char* name, int name_len)  in zend_optimizer_lookup_cv()  argument
38 while (i < op_array->last_var) { in zend_optimizer_lookup_cv()
39 if (op_array->vars[i].name == name || in zend_optimizer_lookup_cv()
40 (op_array->vars[i].hash_value == hash_value && in zend_optimizer_lookup_cv()
41 op_array->vars[i].name_len == name_len && in zend_optimizer_lookup_cv()
42 memcmp(op_array->vars[i].name, name, name_len) == 0)) { in zend_optimizer_lookup_cv()
47 i = op_array->last_var; in zend_optimizer_lookup_cv()
48 op_array->last_var++; in zend_optimizer_lookup_cv()
49 op_array->vars = erealloc(op_array->vars, op_array->last_var * sizeof(zend_compiled_variable)); in zend_optimizer_lookup_cv()
51 op_array->vars[i].name = name; in zend_optimizer_lookup_cv()
53 op_array->vars[i].name = estrndup(name, name_len); in zend_optimizer_lookup_cv()
55 op_array->vars[i].name_len = name_len; in zend_optimizer_lookup_cv()
56 op_array->vars[i].hash_value = hash_value; in zend_optimizer_lookup_cv()
62 int zend_optimizer_add_literal(zend_op_array *op_array, const zval *zv TSRMLS_DC) in zend_optimizer_add_literal() argument
64 int i = op_array->last_literal; in zend_optimizer_add_literal()
65 op_array->last_literal++; in zend_optimizer_add_literal()
68op_array->literals = (zend_literal*)erealloc(op_array->literals, CG(context).literals_size * sizeo… in zend_optimizer_add_literal()
70 op_array->literals[i].constant = *zv; in zend_optimizer_add_literal()
71 op_array->literals[i].hash_value = 0; in zend_optimizer_add_literal()
72 op_array->literals[i].cache_slot = -1; in zend_optimizer_add_literal()
73 Z_SET_REFCOUNT(op_array->literals[i].constant, 2); in zend_optimizer_add_literal()
74 Z_SET_ISREF(op_array->literals[i].constant); in zend_optimizer_add_literal()
81 op.constant = zend_optimizer_add_literal(op_array, &_c TSRMLS_CC); \
87 op.constant = zend_optimizer_add_literal(op_array, &_c TSRMLS_CC); \
114 static void update_op1_const(zend_op_array *op_array, in update_op1_const() argument
129 opline->op1.constant = zend_optimizer_add_literal(op_array, val TSRMLS_CC); in update_op1_const()
131 op_array->literals[opline->op1.constant].cache_slot = op_array->last_cache_slot++; in update_op1_const()
133 zend_optimizer_add_literal(op_array, val TSRMLS_CC); in update_op1_const()
134op_array->literals[opline->op1.constant+1].hash_value = zend_hash_func(Z_STRVAL(op_array->literals… in update_op1_const()
138 opline->op1.constant = zend_optimizer_add_literal(op_array, val TSRMLS_CC); in update_op1_const()
140 op_array->literals[opline->op1.constant].cache_slot = op_array->last_cache_slot++; in update_op1_const()
143 opline->op1.constant = zend_optimizer_add_literal(op_array, val TSRMLS_CC); in update_op1_const()
148 opline->op1.constant = zend_optimizer_add_literal(op_array, val TSRMLS_CC); in update_op1_const()
156 static void update_op2_const(zend_op_array *op_array, in update_op2_const() argument
162 opline->op2.constant = zend_optimizer_add_literal(op_array, val TSRMLS_CC); in update_op2_const()
179 op_array->literals[opline->op2.constant].cache_slot = op_array->last_cache_slot++; in update_op2_const()
181 zend_optimizer_add_literal(op_array, val TSRMLS_CC); in update_op2_const()
182op_array->literals[opline->op2.constant+1].hash_value = zend_hash_func(Z_STRVAL(op_array->literals… in update_op2_const()
187 zend_optimizer_add_literal(op_array, val TSRMLS_CC); in update_op2_const()
188op_array->literals[opline->op2.constant+1].hash_value = zend_hash_func(Z_STRVAL(op_array->literals… in update_op2_const()
204 op_array->literals[opline->op2.constant].cache_slot = op_array->last_cache_slot; in update_op2_const()
205 op_array->last_cache_slot += 2; in update_op2_const()
219 op_array->literals[opline->op2.constant].cache_slot = op_array->last_cache_slot; in update_op2_const()
220 op_array->last_cache_slot += 2; in update_op2_const()
262 op_array->literals[opline->op2.constant].constant = *val; in update_op2_const()
276 static void replace_tmp_by_const(zend_op_array *op_array, in replace_tmp_by_const() argument
282 zend_op *end = op_array->opcodes + op_array->last; in replace_tmp_by_const()
296 int brk = op_array->last_brk_cont; in replace_tmp_by_const()
299 if (op_array->brk_cont_array[brk].start <= (opline - op_array->opcodes) && in replace_tmp_by_const()
300 op_array->brk_cont_array[brk].brk > (opline - op_array->opcodes)) { in replace_tmp_by_const()
313 n = op_array->opcodes + op_array->brk_cont_array[brk].brk + 1; in replace_tmp_by_const()
321 update_op1_const(op_array, m, val TSRMLS_CC); in replace_tmp_by_const()
334 update_op1_const(op_array, opline, val TSRMLS_CC); in replace_tmp_by_const()
342 update_op2_const(op_array, opline, val TSRMLS_CC); in replace_tmp_by_const()
354 void zend_optimizer(zend_op_array *op_array TSRMLS_DC) in zend_optimizer()
356 if (op_array->type == ZEND_EVAL_CODE || in zend_optimizer()
357 (op_array->fn_flags & ZEND_ACC_INTERACTIVE)) { in zend_optimizer()