1 : A method comprising: receiving a bus message in a first cache, the bus message corresponding to a speculative access to a portion of a second cache by a second thread; and dynamically determining in the first cache if an inter-thread dependency exists between the second thread and a first thread associated with the first cache with respect to the portion.