From e8b9773363a5543374d0951877f345fc4e7f917c Mon Sep 17 00:00:00 2001 From: Tim Rogers Date: Sat, 9 Feb 2013 08:00:44 -0800 Subject: Addin in a protected constructor that can be used by derived classes of the tag_array so they can allocate their own type of lines [git-p4: depot-paths = "//depot/gpgpu_sim_research/fermi/distribution/": change = 15214] --- src/gpgpu-sim/gpu-cache.cc | 23 +++++++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) (limited to 'src/gpgpu-sim/gpu-cache.cc') diff --git a/src/gpgpu-sim/gpu-cache.cc b/src/gpgpu-sim/gpu-cache.cc index a09c92e..0b91727 100644 --- a/src/gpgpu-sim/gpu-cache.cc +++ b/src/gpgpu-sim/gpu-cache.cc @@ -50,12 +50,31 @@ tag_array::~tag_array() delete m_lines; } -tag_array::tag_array( const cache_config &config, int core_id, int type_id ) -: m_config(config), m_access(0), m_miss(0), m_pending_hit(0) +tag_array::tag_array( const cache_config &config, + int core_id, + int type_id, + cache_block_t* new_lines) + : m_config( config ), + m_lines( new_lines ) +{ + init( core_id, type_id ); +} + +tag_array::tag_array( const cache_config &config, + int core_id, + int type_id ) + : m_config( config ) { //assert( m_config.m_write_policy == READ_ONLY ); Old assert m_lines = new cache_block_t[ config.get_num_lines()]; + init( core_id, type_id ); +} +void tag_array::init( int core_id, int type_id ) +{ + m_access = 0; + m_miss = 0; + m_pending_hit = 0; // initialize snapshot counters for visualizer m_prev_snapshot_access = 0; m_prev_snapshot_miss = 0; -- cgit v1.3