Home
last modified time | relevance | path

Searched refs:op (Results 1 – 25 of 158) sorted by path

1234567

/php-src/Zend/Optimizer/
H A Dblock_pass.c62 #define VAR_SOURCE(op) Tsource[VAR_NUM(op.var)] argument
875 zend_op *op = src + 1; in zend_optimize_block() local
878 while (op < opline) { in zend_optimize_block()
886 op++; in zend_optimize_block()
970 zend_op *end = op + b->len; in assemble_code_blocks()
971 for (; op < end; op++) { in assemble_code_blocks()
972 if (op->op1_type == IS_CONST) { in assemble_code_blocks()
1635 zend_op *end = op + bb->len; in zend_merge_blocks()
1636 while (op < end) { in zend_merge_blocks()
1643 MAKE_NOP(op); in zend_merge_blocks()
[all …]
H A Descape_analysis.c106 if (op->op1_def >= 0) { in zend_build_equi_escape_sets()
107 if (op->op1_use >= 0) { in zend_build_equi_escape_sets()
109 union_find_unite(parent, size, op->op1_def, op->op1_use); in zend_build_equi_escape_sets()
113 union_find_unite(parent, size, op->op1_def, op->op2_use); in zend_build_equi_escape_sets()
116 if (op->op2_def >= 0) { in zend_build_equi_escape_sets()
117 if (op->op2_use >= 0) { in zend_build_equi_escape_sets()
118 union_find_unite(parent, size, op->op2_def, op->op2_use); in zend_build_equi_escape_sets()
124 union_find_unite(parent, size, op->result_def, op->result_use); in zend_build_equi_escape_sets()
128 union_find_unite(parent, size, op->result_def, op->op1_use); in zend_build_equi_escape_sets()
131 union_find_unite(parent, size, op->result_def, op->op2_use); in zend_build_equi_escape_sets()
[all …]
H A Dsccp.c328 if (IS_PARTIAL_ARRAY(op)) { in ct_eval_bool_cast()
339 ZVAL_BOOL(result, zend_is_true(op)); in ct_eval_bool_cast()
344 switch (Z_TYPE_P(op)) { in zval_to_string_offset()
346 *result = Z_LVAL_P(op); in zval_to_string_offset()
350 Z_STRVAL_P(op), Z_STRLEN_P(op), result, NULL, 0)) { in zval_to_string_offset()
863 #define SET_RESULT(op, zv) do { \ argument
864 if (ssa_op->op##_def >= 0) { \
865 set_value(scdf, ctx, ssa_op->op##_def, zv); \
868 #define SET_RESULT_BOT(op) SET_RESULT(op, &ctx->bot) argument
869 #define SET_RESULT_TOP(op) SET_RESULT(op, &ctx->top) argument
[all …]
H A Dssa_integrity.c44 static inline bool is_used_by_op(zend_ssa *ssa, int op, int check) { in is_used_by_op() argument
45 zend_ssa_op *ssa_op = &ssa->ops[op]; in is_used_by_op()
51 static inline bool is_defined_by_op(zend_ssa *ssa, int op, int check) { in is_defined_by_op() argument
52 zend_ssa_op *ssa_op = &ssa->ops[op]; in is_defined_by_op()
H A Dzend_dump.c118 static void zend_dump_unused_op(const zend_op *opline, znode_op op, uint32_t flags) { in zend_dump_unused_op() argument
120 fprintf(stderr, " %u", op.num); in zend_dump_unused_op()
122 if (op.num != (uint32_t)-1) { in zend_dump_unused_op()
123 fprintf(stderr, " try-catch(%u)", op.num); in zend_dump_unused_op()
130 zend_dump_class_fetch_type(op.num); in zend_dump_unused_op()
134 if (op.num & IS_CONSTANT_UNQUALIFIED_IN_NAMESPACE) { in zend_dump_unused_op()
659 zval *op = CRT_CONSTANT(opline->op2); in zend_dump_op() local
665 HashTable *jumptable = Z_ARRVAL_P(op); in zend_dump_op()
683 zend_dump_const(op); in zend_dump_op()
H A Dzend_inference.c2044 zend_ssa_op *op; in add_usages() local
2047 op = ssa->ops + use; in add_usages()
2051 if (op->op1_def >= 0) { in add_usages()
2054 if (op->op2_def >= 0) { in add_usages()
2058 op--; in add_usages()
2062 if (op->op1_def >= 0) { in add_usages()
2065 if (op->op2_def >= 0) { in add_usages()
2070 op++; in add_usages()
4856 if (op->op1_use == var && op->op1_def >= 0) { in zend_mark_cv_references()
4866 if (op->op2_use == var && op->op2_def >= 0) { in zend_mark_cv_references()
[all …]
H A Dzend_optimizer_internal.h38 #define INV_COND(op) ((op) == ZEND_JMPZ ? ZEND_JMPNZ : ZEND_JMPZ) argument
39 #define INV_EX_COND(op) ((op) == ZEND_JMPZ_EX ? ZEND_JMPNZ : ZEND_JMPZ) argument
40 #define INV_COND_EX(op) ((op) == ZEND_JMPZ ? ZEND_JMPNZ_EX : ZEND_JMPZ_EX) argument
41 #define INV_EX_COND_EX(op) ((op) == ZEND_JMPZ_EX ? ZEND_JMPNZ_EX : ZEND_JMPZ_EX) argument
43 #define RESULT_UNUSED(op) (op->result_type == IS_UNUSED) argument
54 #define LITERAL_LONG(op, val) do { \ argument
57 op.constant = zend_optimizer_add_literal(op_array, &_c); \
60 #define LITERAL_BOOL(op, val) do { \ argument
63 op.constant = zend_optimizer_add_literal(op_array, &_c); \
H A Dzend_ssa.c191 op--; in find_adjusted_tmp_var()
207 if (op->op1_type == IS_CV && op->op2_type == IS_CONST) { in find_adjusted_tmp_var()
208 zv = CRT_CONSTANT_EX(op_array, op, op->op2); in find_adjusted_tmp_var()
215 zv = CRT_CONSTANT_EX(op_array, op, op->op1); in find_adjusted_tmp_var()
223 if (op->op1_type == IS_CV && op->op2_type == IS_CONST) { in find_adjusted_tmp_var()
224 zv = CRT_CONSTANT_EX(op_array, op, op->op2); in find_adjusted_tmp_var()
1111 op->op1_use_chain = ssa_vars[op->op1_use].use_chain; in zend_ssa_compute_use_def_chains()
1114 if (op->op2_use >= 0 && op->op2_use != op->op1_use) { in zend_ssa_compute_use_def_chains()
1115 op->op2_use_chain = ssa_vars[op->op2_use].use_chain; in zend_ssa_compute_use_def_chains()
1118 if (op->result_use >= 0 && op->result_use != op->op1_use && op->result_use != op->op2_use) { in zend_ssa_compute_use_def_chains()
[all …]
H A Dzend_ssa.h150 void zend_ssa_unlink_use_chain(zend_ssa *ssa, int op, int var);
151 void zend_ssa_replace_use_chain(zend_ssa *ssa, int op, int new_op, int var);
/php-src/Zend/
H A DREADME.md88 opline->op<X>.op_type
90 get_zval_ptr(&opline->op<X>, EX(Ts), &free_op<X>, <TYPE>)
92 get_zval_ptr_ptr(&opline->op<X>, EX(Ts), &free_op<X>, <TYPE>)
94 get_obj_zval_ptr(&opline->op<X>, EX(Ts), &free_op<X>, <TYPE>)
96 get_obj_zval_ptr_ptr(&opline->op<X>, EX(Ts), &free_op<X>, <TYPE>)
H A DZend.m4216 AX_CHECK_COMPILE_FLAG([-Wlogical-op], CFLAGS="-Wlogical-op $CFLAGS", , [-Werror])
/php-src/Zend/tests/
H A Dbug38461.phpt19 $op = new ExtOperation;
20 $op->x = 'test';
H A Dbug53432.phpt64 Error: Cannot use assign-op operators with string offsets
H A Dbug69955.phpt2 Bug #69955 (Segfault when trying to combine [] and assign-op on ArrayAccess object).
H A Dbug76667.phpt2 Bug #76667 (Segfault with divide-assign op and __get + __set)
H A Dbug79791.phpt2 Bug #79791: Assertion failure when unsetting variable during binary op
H A Dgh10251.phpt15 $op = $pp & "";
18 $a->$op = 0;
H A Dlist_keyed_ArrayAccess.phpt41 $op = new IndexPrinter;
42 list(123 => $x) = $op;
44 list("123" => $x) = $op;
H A Doperator_unsupported_types.phpt46 eval("return $value1 $op $value2;");
47 echo "No error for $value1 $op $value2\n";
56 eval("\$x $op= $value2;");
57 echo "No error for $value1 $op= $value2\n";
67 foreach ($binops as $op) {
70 evalBinOp($op, $illegalValue1, $illegalValue2);
75 evalBinOp($op, $illegalValue, $legalValue);
76 evalBinOp($op, $legalValue, $illegalValue);
82 foreach ($binops as $op) {
83 if ($op === 'xor') continue;
[all …]
H A Doss_fuzz_61712.phpt2 OSS-Fuzz #61712 (assertion failure with error handler during binary op)
/php-src/Zend/tests/nullsafe_operator/
H A D005.phpt2 Test nullsafe property assignment op
H A D014.phpt2 Test nullsafe in binary op
H A D015.phpt2 Test nullsafe in binary op
/php-src/Zend/tests/offsets/
H A Dinternal_handlers.phpt10 echo 'read op', PHP_EOL;
15 echo 'write op', PHP_EOL;
25 echo 'isset op', PHP_EOL;
223 read op
225 write op
227 read-write op
229 isset op
231 empty op
233 null coalescing op
235 appending op
[all …]
H A Dstring_container_offset_behaviour.phpt17 Cannot use assign-op operators with string offsets
62 Cannot use assign-op operators with string offsets
113 Cannot use assign-op operators with string offsets
174 Cannot use assign-op operators with string offsets
237 Cannot use assign-op operators with string offsets
304 Cannot use assign-op operators with string offsets
371 Cannot use assign-op operators with string offsets
512 Cannot use assign-op operators with string offsets
581 Cannot use assign-op operators with string offsets

Completed in 80 milliseconds

1234567