Lines Matching refs:value

76 static struct value *const_var_ref (struct symbol *var);
77 static struct value *const_expr (union exp_element **pc);
78 static struct value *maybe_const_expr (union exp_element **pc);
94 struct axs_value *value, struct symbol *var);
98 struct axs_value *value,
102 struct axs_value *value);
114 struct axs_value *value);
116 struct axs_value *value, struct type *type);
119 static void gen_ptradd (struct agent_expr *ax, struct axs_value *value,
121 static void gen_ptrsub (struct agent_expr *ax, struct axs_value *value,
123 static void gen_ptrdiff (struct agent_expr *ax, struct axs_value *value,
127 struct axs_value *value,
132 static void gen_logical_not (struct agent_expr *ax, struct axs_value *value,
134 static void gen_complement (struct agent_expr *ax, struct axs_value *value);
138 struct axs_value *value,
142 struct axs_value *value,
146 struct axs_value *value,
150 struct axs_value *value,
154 struct agent_expr *ax, struct axs_value *value,
157 struct agent_expr *ax, struct axs_value *value);
159 struct agent_expr *ax, struct axs_value *value,
164 struct axs_value *value,
191 static struct value *
214 static struct value *
218 struct value *v1; in const_expr()
233 struct value *v = const_var_ref ((*pc)[2].symbol); in const_expr()
257 static struct value *
261 struct value *v = const_expr (&tentative_pc); in maybe_const_expr()
354 struct axs_value value; in gen_trace_static_fields() local
362 gen_static_field (gdbarch, ax, &value, type, i); in gen_trace_static_fields()
363 if (value.optimized_out) in gen_trace_static_fields()
365 switch (value.kind) in gen_trace_static_fields()
370 check_typedef (value.type); in gen_trace_static_fields()
371 ax_const_l (ax, TYPE_LENGTH (value.type)); in gen_trace_static_fields()
379 ax_reg_mask (ax, value.u.reg); in gen_trace_static_fields()
401 struct agent_expr *ax, struct axs_value *value) in gen_traced_pop() argument
405 && TYPE_CODE (value->type) == TYPE_CODE_PTR in gen_traced_pop()
406 && c_textual_element_type (check_typedef (TYPE_TARGET_TYPE (value->type)), in gen_traced_pop()
411 switch (value->kind) in gen_traced_pop()
431 check_typedef (value->type); in gen_traced_pop()
438 ax_const_l (ax, TYPE_LENGTH (value->type)); in gen_traced_pop()
455 ax_reg_mask (ax, value->u.reg); in gen_traced_pop()
461 ax_reg (ax, value->u.reg); in gen_traced_pop()
473 && (TYPE_CODE (value->type) == TYPE_CODE_STRUCT in gen_traced_pop()
474 || TYPE_CODE (value->type) == TYPE_CODE_UNION)) in gen_traced_pop()
475 gen_trace_static_fields (gdbarch, ax, value->type); in gen_traced_pop()
659 struct axs_value *value, struct symbol *var) in gen_var_ref() argument
662 value->type = check_typedef (SYMBOL_TYPE (var)); in gen_var_ref()
663 value->optimized_out = 0; in gen_var_ref()
670 value->kind = axs_rvalue; in gen_var_ref()
675 value->kind = axs_rvalue; in gen_var_ref()
687 value->kind = axs_lvalue_memory; in gen_var_ref()
693 value->kind = axs_lvalue_memory; in gen_var_ref()
702 value->kind = axs_lvalue_memory; in gen_var_ref()
708 value->kind = axs_lvalue_memory; in gen_var_ref()
718 value->kind = axs_rvalue; in gen_var_ref()
725 value->kind = axs_lvalue_register; in gen_var_ref()
726 value->u.reg = SYMBOL_REGISTER_OPS (var)->register_number (var, gdbarch); in gen_var_ref()
735 value->kind = axs_lvalue_memory; in gen_var_ref()
748 value->kind = axs_lvalue_memory; in gen_var_ref()
758 SYMBOL_COMPUTED_OPS (var)->tracepoint_var_ref (var, gdbarch, ax, value); in gen_var_ref()
764 value->optimized_out = 1; in gen_var_ref()
779 gen_int_literal (struct agent_expr *ax, struct axs_value *value, LONGEST k, in gen_int_literal() argument
783 value->kind = axs_rvalue; in gen_int_literal()
784 value->type = check_typedef (type); in gen_int_literal()
795 require_rvalue (struct agent_expr *ax, struct axs_value *value) in require_rvalue() argument
799 value->type = check_typedef (value->type); in require_rvalue()
800 if (TYPE_CODE (value->type) == TYPE_CODE_ARRAY in require_rvalue()
801 || TYPE_CODE (value->type) == TYPE_CODE_STRUCT in require_rvalue()
802 || TYPE_CODE (value->type) == TYPE_CODE_UNION in require_rvalue()
803 || TYPE_CODE (value->type) == TYPE_CODE_FUNC) in require_rvalue()
806 switch (value->kind) in require_rvalue()
814 gen_fetch (ax, value->type); in require_rvalue()
823 ax_reg (ax, value->u.reg); in require_rvalue()
824 gen_extend (ax, value->type); in require_rvalue()
828 value->kind = axs_rvalue; in require_rvalue()
850 struct axs_value *value) in gen_usual_unary() argument
857 switch (TYPE_CODE (value->type)) in gen_usual_unary()
861 value->type = lookup_pointer_type (value->type); in gen_usual_unary()
862 value->kind = axs_rvalue; /* Should always be true, but just in case. */ in gen_usual_unary()
869 struct type *elements = TYPE_TARGET_TYPE (value->type); in gen_usual_unary()
871 value->type = lookup_pointer_type (elements); in gen_usual_unary()
872 value->kind = axs_rvalue; in gen_usual_unary()
886 require_rvalue (ax, value); in gen_usual_unary()
1004 struct axs_value *value) in gen_integral_promotions() argument
1008 if (!type_wider_than (value->type, builtin->builtin_int)) in gen_integral_promotions()
1010 gen_conversion (ax, value->type, builtin->builtin_int); in gen_integral_promotions()
1011 value->type = builtin->builtin_int; in gen_integral_promotions()
1013 else if (!type_wider_than (value->type, builtin->builtin_unsigned_int)) in gen_integral_promotions()
1015 gen_conversion (ax, value->type, builtin->builtin_unsigned_int); in gen_integral_promotions()
1016 value->type = builtin->builtin_unsigned_int; in gen_integral_promotions()
1023 gen_cast (struct agent_expr *ax, struct axs_value *value, struct type *type) in gen_cast() argument
1027 require_rvalue (ax, value); in gen_cast()
1055 gen_conversion (ax, value->type, type); in gen_cast()
1069 value->type = type; in gen_cast()
1093 gen_ptradd (struct agent_expr *ax, struct axs_value *value, in gen_ptradd() argument
1102 value->type = value1->type; in gen_ptradd()
1103 value->kind = axs_rvalue; in gen_ptradd()
1109 gen_ptrsub (struct agent_expr *ax, struct axs_value *value, in gen_ptrsub() argument
1118 value->type = value1->type; in gen_ptrsub()
1119 value->kind = axs_rvalue; in gen_ptrsub()
1125 gen_ptrdiff (struct agent_expr *ax, struct axs_value *value, in gen_ptrdiff() argument
1140 value->type = result_type; in gen_ptrdiff()
1141 value->kind = axs_rvalue; in gen_ptrdiff()
1145 gen_equal (struct agent_expr *ax, struct axs_value *value, in gen_equal() argument
1152 gen_binop (ax, value, value1, value2, in gen_equal()
1154 value->type = result_type; in gen_equal()
1155 value->kind = axs_rvalue; in gen_equal()
1159 gen_less (struct agent_expr *ax, struct axs_value *value, in gen_less() argument
1166 gen_binop (ax, value, value1, value2, in gen_less()
1168 value->type = result_type; in gen_less()
1169 value->kind = axs_rvalue; in gen_less()
1179 gen_binop (struct agent_expr *ax, struct axs_value *value, in gen_binop() argument
1193 value->type = value1->type; in gen_binop()
1194 value->kind = axs_rvalue; in gen_binop()
1199 gen_logical_not (struct agent_expr *ax, struct axs_value *value, in gen_logical_not() argument
1202 if (TYPE_CODE (value->type) != TYPE_CODE_INT in gen_logical_not()
1203 && TYPE_CODE (value->type) != TYPE_CODE_PTR) in gen_logical_not()
1207 value->type = result_type; in gen_logical_not()
1212 gen_complement (struct agent_expr *ax, struct axs_value *value) in gen_complement() argument
1214 if (TYPE_CODE (value->type) != TYPE_CODE_INT) in gen_complement()
1218 gen_extend (ax, value->type); in gen_complement()
1227 gen_deref (struct agent_expr *ax, struct axs_value *value) in gen_deref() argument
1231 if (!pointer_type (value->type)) in gen_deref()
1240 value->type = check_typedef (TYPE_TARGET_TYPE (value->type)); in gen_deref()
1241 if (TYPE_CODE (value->type) == TYPE_CODE_VOID) in gen_deref()
1243 value->kind = ((TYPE_CODE (value->type) == TYPE_CODE_FUNC) in gen_deref()
1250 gen_address_of (struct agent_expr *ax, struct axs_value *value) in gen_address_of() argument
1255 if (TYPE_CODE (value->type) == TYPE_CODE_FUNC) in gen_address_of()
1258 value->type = lookup_pointer_type (value->type); in gen_address_of()
1260 switch (value->kind) in gen_address_of()
1269 value->kind = axs_rvalue; in gen_address_of()
1270 value->type = lookup_pointer_type (value->type); in gen_address_of()
1281 struct axs_value *value, struct type *type, in gen_bitfield_ref() argument
1430 value->kind = axs_rvalue; in gen_bitfield_ref()
1431 value->type = type; in gen_bitfield_ref()
1441 struct agent_expr *ax, struct axs_value *value, in gen_primitive_field() argument
1446 gen_bitfield_ref (exp, ax, value, TYPE_FIELD_TYPE (type, fieldno), in gen_primitive_field()
1456 value->kind = axs_lvalue_memory; in gen_primitive_field()
1457 value->type = TYPE_FIELD_TYPE (type, fieldno); in gen_primitive_field()
1466 struct axs_value *value, in gen_struct_ref_recursive() argument
1488 gen_static_field (exp->gdbarch, ax, value, type, i); in gen_struct_ref_recursive()
1489 if (value->optimized_out) in gen_struct_ref_recursive()
1496 gen_primitive_field (exp, ax, value, offset, i, type); in gen_struct_ref_recursive()
1512 rslt = gen_struct_ref_recursive (exp, ax, value, field, in gen_struct_ref_recursive()
1531 struct axs_value *value, char *field, in gen_struct_ref() argument
1540 while (pointer_type (value->type)) in gen_struct_ref()
1542 require_rvalue (ax, value); in gen_struct_ref()
1543 gen_deref (ax, value); in gen_struct_ref()
1545 type = check_typedef (value->type); in gen_struct_ref()
1555 if (value->kind != axs_lvalue_memory) in gen_struct_ref()
1559 found = gen_struct_ref_recursive (exp, ax, value, field, 0, type); in gen_struct_ref()
1568 struct agent_expr *ax, struct axs_value *value,
1572 struct agent_expr *ax, struct axs_value *value,
1577 struct agent_expr *ax, struct axs_value *value, in gen_static_field() argument
1583 value->kind = axs_lvalue_memory; in gen_static_field()
1584 value->type = TYPE_FIELD_TYPE (type, fieldno); in gen_static_field()
1585 value->optimized_out = 0; in gen_static_field()
1594 gen_var_ref (gdbarch, ax, value, sym); in gen_static_field()
1604 value->optimized_out = 1; in gen_static_field()
1611 struct agent_expr *ax, struct axs_value *value, in gen_struct_elt_for_reference() argument
1630 gen_static_field (exp->gdbarch, ax, value, t, i); in gen_struct_elt_for_reference()
1631 if (value->optimized_out) in gen_struct_elt_for_reference()
1649 return gen_maybe_namespace_elt (exp, ax, value, type, fieldname); in gen_struct_elt_for_reference()
1657 struct agent_expr *ax, struct axs_value *value, in gen_namespace_elt() argument
1660 int found = gen_maybe_namespace_elt (exp, ax, value, curtype, name); in gen_namespace_elt()
1677 struct agent_expr *ax, struct axs_value *value, in gen_maybe_namespace_elt() argument
1690 gen_var_ref (exp->gdbarch, ax, value, sym); in gen_maybe_namespace_elt()
1692 if (value->optimized_out) in gen_maybe_namespace_elt()
1702 struct agent_expr *ax, struct axs_value *value, in gen_aggregate_elt_ref() argument
1710 return gen_struct_elt_for_reference (exp, ax, value, type, field); in gen_aggregate_elt_ref()
1713 return gen_namespace_elt (exp, ax, value, type, field); in gen_aggregate_elt_ref()
1736 struct agent_expr *ax, struct axs_value *value) in gen_repeat() argument
1748 struct value *v = const_expr (pc); in gen_repeat()
1768 value->kind = axs_lvalue_memory; in gen_repeat()
1769 value->type = array; in gen_repeat()
1780 struct agent_expr *ax, struct axs_value *value, in gen_sizeof() argument
1790 gen_expr (exp, pc, ax, value); in gen_sizeof()
1795 ax_const_l (ax, TYPE_LENGTH (value->type)); in gen_sizeof()
1796 value->kind = axs_rvalue; in gen_sizeof()
1797 value->type = size_type; in gen_sizeof()
1808 struct agent_expr *ax, struct axs_value *value) in gen_expr() argument
1818 struct value *v = maybe_const_expr (pc); in gen_expr()
1823 value->kind = axs_rvalue; in gen_expr()
1824 value->type = check_typedef (value_type (v)); in gen_expr()
1853 gen_expr_binop_rest (exp, op, pc, ax, value, &value1, &value2); in gen_expr()
1875 value->kind = axs_rvalue; in gen_expr()
1876 value->type = int_type; in gen_expr()
1894 value->kind = axs_rvalue; in gen_expr()
1895 value->type = int_type; in gen_expr()
1916 value->type = value2.type; in gen_expr()
1917 value->kind = value2.kind; in gen_expr()
1928 gen_expr (exp, pc, ax, value); in gen_expr()
1966 gen_expr_binop_rest (exp, op2, pc, ax, value, &value1, &value2); in gen_expr()
1993 gen_expr (exp, pc, ax, value); in gen_expr()
2003 gen_int_literal (ax, value, k, type); in gen_expr()
2008 gen_var_ref (exp->gdbarch, ax, value, (*pc)[2].symbol); in gen_expr()
2010 if (value->optimized_out) in gen_expr()
2033 value->kind = axs_lvalue_register; in gen_expr()
2034 value->u.reg = reg; in gen_expr()
2035 value->type = register_type (exp->gdbarch, reg); in gen_expr()
2053 value->kind = axs_rvalue; in gen_expr()
2054 value->type = builtin_type (exp->gdbarch)->builtin_long_long; in gen_expr()
2056 else if (! compile_internalvar_to_ax (var, ax, value)) in gen_expr()
2066 gen_repeat (exp, pc, ax, value); in gen_expr()
2074 gen_expr (exp, pc, ax, value); in gen_expr()
2075 gen_cast (ax, value, type); in gen_expr()
2082 struct value *val; in gen_expr()
2091 gen_expr (exp, pc, ax, value); in gen_expr()
2092 gen_cast (ax, value, type); in gen_expr()
2101 gen_expr (exp, pc, ax, value); in gen_expr()
2106 if (value->kind == axs_lvalue_register) in gen_expr()
2107 require_rvalue (ax, value); in gen_expr()
2109 value->type = type; in gen_expr()
2110 value->kind = axs_lvalue_memory; in gen_expr()
2117 struct value *val; in gen_expr()
2126 gen_expr (exp, pc, ax, value); in gen_expr()
2131 if (value->kind == axs_lvalue_register) in gen_expr()
2132 require_rvalue (ax, value); in gen_expr()
2134 value->type = type; in gen_expr()
2135 value->kind = axs_lvalue_memory; in gen_expr()
2142 gen_expr (exp, pc, ax, value); in gen_expr()
2143 gen_usual_unary (exp, ax, value); in gen_expr()
2155 gen_binop (ax, value, &value1, &value2, aop_sub, aop_sub, 1, "negation"); in gen_expr()
2160 gen_expr (exp, pc, ax, value); in gen_expr()
2161 gen_usual_unary (exp, ax, value); in gen_expr()
2162 gen_logical_not (ax, value, int_type); in gen_expr()
2167 gen_expr (exp, pc, ax, value); in gen_expr()
2168 gen_usual_unary (exp, ax, value); in gen_expr()
2169 gen_integral_promotions (exp, ax, value); in gen_expr()
2170 gen_complement (ax, value); in gen_expr()
2175 gen_expr (exp, pc, ax, value); in gen_expr()
2176 gen_usual_unary (exp, ax, value); in gen_expr()
2177 if (!pointer_type (value->type)) in gen_expr()
2179 gen_deref (ax, value); in gen_expr()
2184 gen_expr (exp, pc, ax, value); in gen_expr()
2185 gen_address_of (ax, value); in gen_expr()
2193 gen_sizeof (exp, pc, ax, value, in gen_expr()
2204 gen_expr (exp, pc, ax, value); in gen_expr()
2206 gen_struct_ref (exp, ax, value, name, ".", "structure or union"); in gen_expr()
2208 gen_struct_ref (exp, ax, value, name, "->", in gen_expr()
2232 gen_var_ref (exp->gdbarch, ax, value, sym); in gen_expr()
2234 if (value->optimized_out) in gen_expr()
2249 found = gen_aggregate_elt_ref (exp, ax, value, type, name, in gen_expr()
2275 struct agent_expr *ax, struct axs_value *value, in gen_expr_binop_rest() argument
2291 gen_ptradd (ax, value, value2, value1); in gen_expr_binop_rest()
2295 gen_ptradd (ax, value, value1, value2); in gen_expr_binop_rest()
2297 gen_binop (ax, value, value1, value2, in gen_expr_binop_rest()
2303 gen_ptrsub (ax,value, value1, value2); in gen_expr_binop_rest()
2307 gen_ptrdiff (ax, value, value1, value2, in gen_expr_binop_rest()
2310 gen_binop (ax, value, value1, value2, in gen_expr_binop_rest()
2314 gen_binop (ax, value, value1, value2, in gen_expr_binop_rest()
2318 gen_binop (ax, value, value1, value2, in gen_expr_binop_rest()
2322 gen_binop (ax, value, value1, value2, in gen_expr_binop_rest()
2326 gen_binop (ax, value, value1, value2, in gen_expr_binop_rest()
2330 gen_binop (ax, value, value1, value2, in gen_expr_binop_rest()
2363 gen_ptradd (ax, value, value1, value2); in gen_expr_binop_rest()
2364 gen_deref (ax, value); in gen_expr_binop_rest()
2368 gen_binop (ax, value, value1, value2, in gen_expr_binop_rest()
2373 gen_binop (ax, value, value1, value2, in gen_expr_binop_rest()
2378 gen_binop (ax, value, value1, value2, in gen_expr_binop_rest()
2383 gen_equal (ax, value, value1, value2, int_type); in gen_expr_binop_rest()
2387 gen_equal (ax, value, value1, value2, int_type); in gen_expr_binop_rest()
2388 gen_logical_not (ax, value, int_type); in gen_expr_binop_rest()
2392 gen_less (ax, value, value1, value2, int_type); in gen_expr_binop_rest()
2397 gen_less (ax, value, value1, value2, int_type); in gen_expr_binop_rest()
2402 gen_less (ax, value, value1, value2, int_type); in gen_expr_binop_rest()
2403 gen_logical_not (ax, value, int_type); in gen_expr_binop_rest()
2407 gen_less (ax, value, value1, value2, int_type); in gen_expr_binop_rest()
2408 gen_logical_not (ax, value, int_type); in gen_expr_binop_rest()
2431 struct axs_value value; in gen_trace_for_var() local
2436 gen_var_ref (gdbarch, ax, &value, var); in gen_trace_for_var()
2440 if (value.optimized_out) in gen_trace_for_var()
2447 gen_traced_pop (gdbarch, ax, &value); in gen_trace_for_var()
2472 struct axs_value value; in gen_trace_for_expr() local
2478 value.optimized_out = 0; in gen_trace_for_expr()
2479 gen_expr (expr, &pc, ax, &value); in gen_trace_for_expr()
2482 gen_traced_pop (expr->gdbarch, ax, &value); in gen_trace_for_expr()
2507 struct axs_value value; in gen_eval_for_expr() local
2513 value.optimized_out = 0; in gen_eval_for_expr()
2514 gen_expr (expr, &pc, ax, &value); in gen_eval_for_expr()
2516 require_rvalue (ax, &value); in gen_eval_for_expr()
2533 struct axs_value value; in gen_trace_for_return_address() local
2539 gdbarch_gen_return_address (gdbarch, ax, &value, scope); in gen_trace_for_return_address()
2542 gen_traced_pop (gdbarch, ax, &value); in gen_trace_for_return_address()
2568 struct axs_value value; in gen_printf() local
2580 value.optimized_out = 0; in gen_printf()
2581 gen_expr (exprs[tem], &pc, ax, &value); in gen_printf()
2582 require_rvalue (ax, &value); in gen_printf()