Lines Matching full:addr
95 void DRD_(trace_mem_access)(const Addr addr, const SizeT size, in DRD_()
100 if (DRD_(is_any_traced)(addr, addr + size)) in DRD_()
107 " vc %s)", addr, size, stored_value_lo, in DRD_()
116 " / vc %s)", addr, size, sv, sv, in DRD_()
124 addr, size, DRD_(thread_get_running_tid)(), vc); in DRD_()
132 static VG_REGPARM(2) void drd_trace_mem_load(const Addr addr, const SizeT size) in drd_trace_mem_load() argument
134 return DRD_(trace_mem_access)(addr, size, eLoad, 0, 0); in drd_trace_mem_load()
137 static VG_REGPARM(3) void drd_trace_mem_store(const Addr addr,const SizeT size, in drd_trace_mem_store() argument
141 return DRD_(trace_mem_access)(addr, size, eStore, stored_value_hi, in drd_trace_mem_store()
145 static void drd_report_race(const Addr addr, const SizeT size, in drd_report_race() argument
152 && DRD_(thread_address_on_any_stack)(addr)) { in drd_report_race()
156 .addr = addr, in drd_report_race()
166 .addr = addr, in drd_report_race()
174 DRD_(start_suppression)(addr, addr + size, "first race only"); in drd_report_race()
178 VG_REGPARM(2) void DRD_(trace_load)(Addr addr, SizeT size) in DRD_()
188 || ! DRD_(thread_address_on_stack)(addr)) in DRD_()
189 && bm_access_load_triggers_conflict(addr, addr + size) in DRD_()
190 && ! DRD_(is_suppressed)(addr, addr + size)) in DRD_()
192 drd_report_race(addr, size, eLoad); in DRD_()
196 static VG_REGPARM(1) void drd_trace_load_1(Addr addr) in drd_trace_load_1() argument
200 || ! DRD_(thread_address_on_stack)(addr)) in drd_trace_load_1()
201 && bm_access_load_1_triggers_conflict(addr) in drd_trace_load_1()
202 && ! DRD_(is_suppressed)(addr, addr + 1)) in drd_trace_load_1()
204 drd_report_race(addr, 1, eLoad); in drd_trace_load_1()
208 static VG_REGPARM(1) void drd_trace_load_2(Addr addr) in drd_trace_load_2() argument
212 || ! DRD_(thread_address_on_stack)(addr)) in drd_trace_load_2()
213 && bm_access_load_2_triggers_conflict(addr) in drd_trace_load_2()
214 && ! DRD_(is_suppressed)(addr, addr + 2)) in drd_trace_load_2()
216 drd_report_race(addr, 2, eLoad); in drd_trace_load_2()
220 static VG_REGPARM(1) void drd_trace_load_4(Addr addr) in drd_trace_load_4() argument
224 || ! DRD_(thread_address_on_stack)(addr)) in drd_trace_load_4()
225 && bm_access_load_4_triggers_conflict(addr) in drd_trace_load_4()
226 && ! DRD_(is_suppressed)(addr, addr + 4)) in drd_trace_load_4()
228 drd_report_race(addr, 4, eLoad); in drd_trace_load_4()
232 static VG_REGPARM(1) void drd_trace_load_8(Addr addr) in drd_trace_load_8() argument
236 || ! DRD_(thread_address_on_stack)(addr)) in drd_trace_load_8()
237 && bm_access_load_8_triggers_conflict(addr) in drd_trace_load_8()
238 && ! DRD_(is_suppressed)(addr, addr + 8)) in drd_trace_load_8()
240 drd_report_race(addr, 8, eLoad); in drd_trace_load_8()
244 VG_REGPARM(2) void DRD_(trace_store)(Addr addr, SizeT size) in DRD_()
254 || ! DRD_(thread_address_on_stack)(addr)) in DRD_()
255 && bm_access_store_triggers_conflict(addr, addr + size) in DRD_()
256 && ! DRD_(is_suppressed)(addr, addr + size)) in DRD_()
258 drd_report_race(addr, size, eStore); in DRD_()
262 static VG_REGPARM(1) void drd_trace_store_1(Addr addr) in drd_trace_store_1() argument
266 || ! DRD_(thread_address_on_stack)(addr)) in drd_trace_store_1()
267 && bm_access_store_1_triggers_conflict(addr) in drd_trace_store_1()
268 && ! DRD_(is_suppressed)(addr, addr + 1)) in drd_trace_store_1()
270 drd_report_race(addr, 1, eStore); in drd_trace_store_1()
274 static VG_REGPARM(1) void drd_trace_store_2(Addr addr) in drd_trace_store_2() argument
278 || ! DRD_(thread_address_on_stack)(addr)) in drd_trace_store_2()
279 && bm_access_store_2_triggers_conflict(addr) in drd_trace_store_2()
280 && ! DRD_(is_suppressed)(addr, addr + 2)) in drd_trace_store_2()
282 drd_report_race(addr, 2, eStore); in drd_trace_store_2()
286 static VG_REGPARM(1) void drd_trace_store_4(Addr addr) in drd_trace_store_4() argument
290 || !DRD_(thread_address_on_stack)(addr)) in drd_trace_store_4()
291 && bm_access_store_4_triggers_conflict(addr) in drd_trace_store_4()
292 && !DRD_(is_suppressed)(addr, addr + 4)) in drd_trace_store_4()
294 drd_report_race(addr, 4, eStore); in drd_trace_store_4()
298 static VG_REGPARM(1) void drd_trace_store_8(Addr addr) in drd_trace_store_8() argument
302 || ! DRD_(thread_address_on_stack)(addr)) in drd_trace_store_8()
303 && bm_access_store_8_triggers_conflict(addr) in drd_trace_store_8()
304 && ! DRD_(is_suppressed)(addr, addr + 8)) in drd_trace_store_8()
306 drd_report_race(addr, 8, eStore); in drd_trace_store_8()
350 * Instrument the client code to trace a memory load (--trace-addr).
374 * Instrument the client code to trace a memory store (--trace-addr).
629 instrument = VG_(DebugInfo_sect_kind)(NULL, st->Ist.IMark.addr) in DRD_()
649 instrument_store(bb, st->Ist.Store.addr, st->Ist.Store.data, in DRD_()
657 IRExpr* addr = sg->addr; in DRD_() local
659 instrument_store(bb, addr, data, sg->guard); in DRD_()
668 IRExpr* addr_expr = lg->addr; in DRD_()
675 instrument_load(bb, lg->addr, in DRD_()
684 IRExpr* addr_expr = data->Iex.Load.addr; in DRD_()
749 tl_assert(cas->addr != NULL); in DRD_()
756 instr_trace_mem_store(bb, cas->addr, cas->dataHi, cas->dataLo, in DRD_()
759 instrument_load(bb, cas->addr, dataSize, NULL/*no guard*/); in DRD_()
775 IRExpr* addr_expr = st->Ist.LLSC.addr; in DRD_()
786 instr_trace_mem_store(bb, st->Ist.LLSC.addr, NULL, in DRD_()