Check::Check(const Address& address, const Address& pc) { m_status = TesterStatus_Idle; pickValue(); pickInitiatingNode(); changeAddress(address); m_pc = pc; m_access_mode = AccessModeType(random() % AccessModeType_NUM); m_store_count = 0; }
void AddressProfiler::profileGetS(const Address& datablock, const Address& PC, const Set& owner, const Set& sharers, NodeID requestor) { Set indirection_set; indirection_set.addSet(owner); indirection_set.remove(requestor); int num_indirections = indirection_set.count(); m_gets_sharing_histogram.add(num_indirections); bool indirection_miss = (num_indirections > 0); addTraceSample(datablock, PC, CacheRequestType_LD, AccessModeType(0), requestor, indirection_miss); }