Lines Matching refs:Addr
93 void DRD_(trace_mem_access)(const Addr addr, const SizeT size,
98 if (DRD_(is_any_traced)(addr, addr + size))
105 " vc %s)", addr, size, stored_value_lo,
114 " / vc %s)", addr, size, sv, sv,
122 addr, size, DRD_(thread_get_running_tid)(), vc);
130 static VG_REGPARM(2) void drd_trace_mem_load(const Addr addr, const SizeT size)
132 return DRD_(trace_mem_access)(addr, size, eLoad, 0, 0);
135 static VG_REGPARM(3) void drd_trace_mem_store(const Addr addr,const SizeT size,
139 return DRD_(trace_mem_access)(addr, size, eStore, stored_value_hi,
143 static void drd_report_race(const Addr addr, const SizeT size,
150 && DRD_(thread_address_on_any_stack)(addr)) {
154 .addr = addr,
164 .addr = addr,
172 DRD_(start_suppression)(addr, addr + size, "first race only");
176 VG_REGPARM(2) void DRD_(trace_load)(Addr addr, SizeT size)
186 || ! DRD_(thread_address_on_stack)(addr))
187 && bm_access_load_triggers_conflict(addr, addr + size)
188 && ! DRD_(is_suppressed)(addr, addr + size))
190 drd_report_race(addr, size, eLoad);
194 static VG_REGPARM(1) void drd_trace_load_1(Addr addr)
198 || ! DRD_(thread_address_on_stack)(addr))
199 && bm_access_load_1_triggers_conflict(addr)
200 && ! DRD_(is_suppressed)(addr, addr + 1))
202 drd_report_race(addr, 1, eLoad);
206 static VG_REGPARM(1) void drd_trace_load_2(Addr addr)
210 || ! DRD_(thread_address_on_stack)(addr))
211 && bm_access_load_2_triggers_conflict(addr)
212 && ! DRD_(is_suppressed)(addr, addr + 2))
214 drd_report_race(addr, 2, eLoad);
218 static VG_REGPARM(1) void drd_trace_load_4(Addr addr)
222 || ! DRD_(thread_address_on_stack)(addr))
223 && bm_access_load_4_triggers_conflict(addr)
224 && ! DRD_(is_suppressed)(addr, addr + 4))
226 drd_report_race(addr, 4, eLoad);
230 static VG_REGPARM(1) void drd_trace_load_8(Addr addr)
234 || ! DRD_(thread_address_on_stack)(addr))
235 && bm_access_load_8_triggers_conflict(addr)
236 && ! DRD_(is_suppressed)(addr, addr + 8))
238 drd_report_race(addr, 8, eLoad);
242 VG_REGPARM(2) void DRD_(trace_store)(Addr addr, SizeT size)
252 || ! DRD_(thread_address_on_stack)(addr))
253 && bm_access_store_triggers_conflict(addr, addr + size)
254 && ! DRD_(is_suppressed)(addr, addr + size))
256 drd_report_race(addr, size, eStore);
260 static VG_REGPARM(1) void drd_trace_store_1(Addr addr)
264 || ! DRD_(thread_address_on_stack)(addr))
265 && bm_access_store_1_triggers_conflict(addr)
266 && ! DRD_(is_suppressed)(addr, addr + 1))
268 drd_report_race(addr, 1, eStore);
272 static VG_REGPARM(1) void drd_trace_store_2(Addr addr)
276 || ! DRD_(thread_address_on_stack)(addr))
277 && bm_access_store_2_triggers_conflict(addr)
278 && ! DRD_(is_suppressed)(addr, addr + 2))
280 drd_report_race(addr, 2, eStore);
284 static VG_REGPARM(1) void drd_trace_store_4(Addr addr)
288 || !DRD_(thread_address_on_stack)(addr))
289 && bm_access_store_4_triggers_conflict(addr)
290 && !DRD_(is_suppressed)(addr, addr + 4))
292 drd_report_race(addr, 4, eStore);
296 static VG_REGPARM(1) void drd_trace_store_8(Addr addr)
300 || ! DRD_(thread_address_on_stack)(addr))
301 && bm_access_store_8_triggers_conflict(addr)
302 && ! DRD_(is_suppressed)(addr, addr + 8))
304 drd_report_race(addr, 8, eStore);
348 * Instrument the client code to trace a memory load (--trace-addr).
372 * Instrument the client code to trace a memory store (--trace-addr).
627 instrument = VG_(DebugInfo_sect_kind)(NULL, 0, st->Ist.IMark.addr)
645 instrument_store(bb, st->Ist.Store.addr, st->Ist.Store.data,
653 IRExpr* addr = sg->addr;
655 instrument_store(bb, addr, data, sg->guard);
664 IRExpr* addr_expr = lg->addr;
671 instrument_load(bb, lg->addr,
680 IRExpr* addr_expr = data->Iex.Load.addr;
745 tl_assert(cas->addr != NULL);
752 instr_trace_mem_store(bb, cas->addr, cas->dataHi, cas->dataLo,
755 instrument_load(bb, cas->addr, dataSize, NULL/*no guard*/);
771 IRExpr* addr_expr = st->Ist.LLSC.addr;
782 instr_trace_mem_store(bb, st->Ist.LLSC.addr, NULL,