AddressProfiler.hh (11061:25b53a7195f7) AddressProfiler.hh (11168:f98eb2da15a4)
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;

--- 16 unchanged lines hidden (view full) ---

25 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
26 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27 */
28
29#ifndef __MEM_RUBY_PROFILER_ADDRESSPROFILER_HH__
30#define __MEM_RUBY_PROFILER_ADDRESSPROFILER_HH__
31
32#include <iostream>
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;

--- 16 unchanged lines hidden (view full) ---

25 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
26 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27 */
28
29#ifndef __MEM_RUBY_PROFILER_ADDRESSPROFILER_HH__
30#define __MEM_RUBY_PROFILER_ADDRESSPROFILER_HH__
31
32#include <iostream>
33#include <unordered_map>
33
34
34#include "base/hashmap.hh"
35#include "mem/protocol/AccessType.hh"
36#include "mem/protocol/RubyRequest.hh"
37#include "mem/ruby/common/Address.hh"
38#include "mem/ruby/common/Histogram.hh"
39#include "mem/ruby/profiler/AccessTraceForAddress.hh"
40#include "mem/ruby/profiler/Profiler.hh"
41
42class Set;
43
44class AddressProfiler
45{
46 public:
35#include "mem/protocol/AccessType.hh"
36#include "mem/protocol/RubyRequest.hh"
37#include "mem/ruby/common/Address.hh"
38#include "mem/ruby/common/Histogram.hh"
39#include "mem/ruby/profiler/AccessTraceForAddress.hh"
40#include "mem/ruby/profiler/Profiler.hh"
41
42class Set;
43
44class AddressProfiler
45{
46 public:
47 typedef m5::hash_map<Addr, AccessTraceForAddress> AddressMap;
47 typedef std::unordered_map<Addr, AccessTraceForAddress> AddressMap;
48
49 public:
50 AddressProfiler(int num_of_sequencers, Profiler *profiler);
51 ~AddressProfiler();
52
53 void printStats(std::ostream& out) const;
54 void clearStats();
55

--- 60 unchanged lines hidden ---
48
49 public:
50 AddressProfiler(int num_of_sequencers, Profiler *profiler);
51 ~AddressProfiler();
52
53 void printStats(std::ostream& out) const;
54 void clearStats();
55

--- 60 unchanged lines hidden ---