AddressProfiler.cc (8164:b043c0efa024) | AddressProfiler.cc (8165:5955406f7ed0) |
---|---|
1/* 2 * Copyright (c) 1999-2008 Mark D. Hill and David A. Wood 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions are 7 * met: redistributions of source code must retain the above copyright 8 * notice, this list of conditions and the following disclaimer; --- 243 unchanged lines hidden (view full) --- 252 indirection_set.addSet(sharers); 253 indirection_set.addSet(owner); 254 indirection_set.remove(requestor); 255 int num_indirections = indirection_set.count(); 256 257 m_getx_sharing_histogram.add(num_indirections); 258 bool indirection_miss = (num_indirections > 0); 259 | 1/* 2 * Copyright (c) 1999-2008 Mark D. Hill and David A. Wood 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions are 7 * met: redistributions of source code must retain the above copyright 8 * notice, this list of conditions and the following disclaimer; --- 243 unchanged lines hidden (view full) --- 252 indirection_set.addSet(sharers); 253 indirection_set.addSet(owner); 254 indirection_set.remove(requestor); 255 int num_indirections = indirection_set.count(); 256 257 m_getx_sharing_histogram.add(num_indirections); 258 bool indirection_miss = (num_indirections > 0); 259 |
260 addTraceSample(datablock, PC, CacheRequestType_ST, RubyAccessMode(0), | 260 addTraceSample(datablock, PC, RubyRequestType_ST, RubyAccessMode(0), |
261 requestor, indirection_miss); 262} 263 264void 265AddressProfiler::profileGetS(const Address& datablock, const Address& PC, 266 const Set& owner, const Set& sharers, 267 NodeID requestor) 268{ 269 Set indirection_set; 270 indirection_set.addSet(owner); 271 indirection_set.remove(requestor); 272 int num_indirections = indirection_set.count(); 273 274 m_gets_sharing_histogram.add(num_indirections); 275 bool indirection_miss = (num_indirections > 0); 276 | 261 requestor, indirection_miss); 262} 263 264void 265AddressProfiler::profileGetS(const Address& datablock, const Address& PC, 266 const Set& owner, const Set& sharers, 267 NodeID requestor) 268{ 269 Set indirection_set; 270 indirection_set.addSet(owner); 271 indirection_set.remove(requestor); 272 int num_indirections = indirection_set.count(); 273 274 m_gets_sharing_histogram.add(num_indirections); 275 bool indirection_miss = (num_indirections > 0); 276 |
277 addTraceSample(datablock, PC, CacheRequestType_LD, RubyAccessMode(0), | 277 addTraceSample(datablock, PC, RubyRequestType_LD, RubyAccessMode(0), |
278 requestor, indirection_miss); 279} 280 281void 282AddressProfiler::addTraceSample(Address data_addr, Address pc_addr, | 278 requestor, indirection_miss); 279} 280 281void 282AddressProfiler::addTraceSample(Address data_addr, Address pc_addr, |
283 CacheRequestType type, | 283 RubyRequestType type, |
284 RubyAccessMode access_mode, NodeID id, 285 bool sharing_miss) 286{ 287 if (m_all_instructions) { 288 if (sharing_miss) { 289 m_sharing_miss_counter++; 290 } 291 --- 40 unchanged lines hidden --- | 284 RubyAccessMode access_mode, NodeID id, 285 bool sharing_miss) 286{ 287 if (m_all_instructions) { 288 if (sharing_miss) { 289 m_sharing_miss_counter++; 290 } 291 --- 40 unchanged lines hidden --- |