1. In a multiprocessor system comprising a plurality of processors running speculative threads in parallel; at least one cache shared by the processors, a method comprising: in a control unit of the cache, maintaining a dynamic record of read accesses to the cache, the dynamic record comprising an indication of a portion of a line read; directing memory accesses for a same physical address from all the processors through a same memory addressing scheme of the control unit; performing conflict checking for all the processors of the system using the record to locate potential conflicts.