diff options
| author | Nick <[email protected]> | 2019-09-13 07:48:07 -0400 |
|---|---|---|
| committer | Nick <[email protected]> | 2019-09-13 07:48:07 -0400 |
| commit | 5c99f0fa58caf45f4d457894413aa11c03afdb7d (patch) | |
| tree | dbdd4b0edd3e587f3ab5fc2d6a00dda4ddb7c444 /src/cuda-sim/memory.h | |
| parent | ee22431b623355df3f3a4817f812f4fc64756d03 (diff) | |
Revert "Add src/cuda-sim formatting"
This reverts commit 0c023e41809dba8897c37af6bb03e5c3aa9ebc5e.
Diffstat (limited to 'src/cuda-sim/memory.h')
| -rw-r--r-- | src/cuda-sim/memory.h | 144 |
1 files changed, 73 insertions, 71 deletions
diff --git a/src/cuda-sim/memory.h b/src/cuda-sim/memory.h index 31ad4df..ab588bc 100644 --- a/src/cuda-sim/memory.h +++ b/src/cuda-sim/memory.h @@ -7,16 +7,14 @@ // // Redistributions of source code must retain the above copyright notice, this // list of conditions and the following disclaimer. -// Redistributions in binary form must reproduce the above copyright notice, -// this +// Redistributions in binary form must reproduce the above copyright notice, this // list of conditions and the following disclaimer in the documentation and/or // other materials provided with the distribution. // Neither the name of The University of British Columbia nor the names of its // contributors may be used to endorse or promote products derived from this // software without specific prior written permission. // -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -// AND +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED // WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE // DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE @@ -35,97 +33,101 @@ #include "../tr1_hash_map.h" #define mem_map tr1_hash_map #if tr1_hash_map_ismap == 1 -#define MEM_MAP_RESIZE(hash_size) + #define MEM_MAP_RESIZE(hash_size) #else -#define MEM_MAP_RESIZE(hash_size) (m_data.rehash(hash_size)) + #define MEM_MAP_RESIZE(hash_size) (m_data.rehash(hash_size)) #endif #include <assert.h> -#include <stdio.h> -#include <stdlib.h> #include <string.h> -#include <map> +#include <stdio.h> #include <string> +#include <map> +#include <stdlib.h> typedef address_type mem_addr_t; -#define MEM_BLOCK_SIZE (4 * 1024) +#define MEM_BLOCK_SIZE (4*1024) -template <unsigned BSIZE> -class mem_storage { - public: - mem_storage(const mem_storage &another) { - m_data = (unsigned char *)calloc(1, BSIZE); - memcpy(m_data, another.m_data, BSIZE); - } - mem_storage() { m_data = (unsigned char *)calloc(1, BSIZE); } - ~mem_storage() { free(m_data); } +template<unsigned BSIZE> class mem_storage { +public: + mem_storage( const mem_storage &another ) + { + m_data = (unsigned char*)calloc(1,BSIZE); + memcpy(m_data,another.m_data,BSIZE); + } + mem_storage() + { + m_data = (unsigned char*)calloc(1,BSIZE); + } + ~mem_storage() + { + free(m_data); + } - void write(unsigned offset, size_t length, const unsigned char *data) { - assert(offset + length <= BSIZE); - memcpy(m_data + offset, data, length); - } + void write( unsigned offset, size_t length, const unsigned char *data ) + { + assert( offset + length <= BSIZE ); + memcpy(m_data+offset,data,length); + } - void read(unsigned offset, size_t length, unsigned char *data) const { - assert(offset + length <= BSIZE); - memcpy(data, m_data + offset, length); - } + void read( unsigned offset, size_t length, unsigned char *data ) const + { + assert( offset + length <= BSIZE ); + memcpy(data,m_data+offset,length); + } - void print(const char *format, FILE *fout) const { - unsigned int *i_data = (unsigned int *)m_data; - for (int d = 0; d < (BSIZE / sizeof(unsigned int)); d++) { - if (d % 1 == 0) { - fprintf(fout, "\n"); + void print( const char *format, FILE *fout ) const + { + unsigned int *i_data = (unsigned int*)m_data; + for (int d = 0; d < (BSIZE / sizeof(unsigned int)); d++) { + if (d % 1 == 0) { + fprintf(fout, "\n"); + } + fprintf(fout, format, i_data[d]); + fprintf(fout, " "); } - fprintf(fout, format, i_data[d]); - fprintf(fout, " "); - } - fprintf(fout, "\n"); - fflush(fout); - } + fprintf(fout, "\n"); + fflush(fout); + } - private: - unsigned m_nbytes; - unsigned char *m_data; +private: + unsigned m_nbytes; + unsigned char *m_data; }; class ptx_thread_info; class ptx_instruction; -class memory_space { - public: - virtual ~memory_space() {} - virtual void write(mem_addr_t addr, size_t length, const void *data, - ptx_thread_info *thd, const ptx_instruction *pI) = 0; - virtual void write_only(mem_addr_t index, mem_addr_t offset, size_t length, - const void *data) = 0; - virtual void read(mem_addr_t addr, size_t length, void *data) const = 0; - virtual void print(const char *format, FILE *fout) const = 0; - virtual void set_watch(addr_t addr, unsigned watchpoint) = 0; +class memory_space +{ +public: + virtual ~memory_space() {} + virtual void write( mem_addr_t addr, size_t length, const void *data, ptx_thread_info *thd, const ptx_instruction *pI ) = 0; + virtual void write_only( mem_addr_t index, mem_addr_t offset, size_t length, const void *data ) = 0; + virtual void read( mem_addr_t addr, size_t length, void *data ) const = 0; + virtual void print( const char *format, FILE *fout ) const = 0; + virtual void set_watch( addr_t addr, unsigned watchpoint ) = 0; }; -template <unsigned BSIZE> -class memory_space_impl : public memory_space { - public: - memory_space_impl(std::string name, unsigned hash_size); - - virtual void write(mem_addr_t addr, size_t length, const void *data, - ptx_thread_info *thd, const ptx_instruction *pI); - virtual void write_only(mem_addr_t index, mem_addr_t offset, size_t length, - const void *data); - virtual void read(mem_addr_t addr, size_t length, void *data) const; - virtual void print(const char *format, FILE *fout) const; +template<unsigned BSIZE> class memory_space_impl : public memory_space { +public: + memory_space_impl( std::string name, unsigned hash_size ); - virtual void set_watch(addr_t addr, unsigned watchpoint); + virtual void write( mem_addr_t addr, size_t length, const void *data, ptx_thread_info *thd, const ptx_instruction *pI ); + virtual void write_only( mem_addr_t index, mem_addr_t offset, size_t length, const void *data); + virtual void read( mem_addr_t addr, size_t length, void *data ) const; + virtual void print( const char *format, FILE *fout ) const; + + virtual void set_watch( addr_t addr, unsigned watchpoint ); - private: - void read_single_block(mem_addr_t blk_idx, mem_addr_t addr, size_t length, - void *data) const; - std::string m_name; - unsigned m_log2_block_size; - typedef mem_map<mem_addr_t, mem_storage<BSIZE> > map_t; - map_t m_data; - std::map<unsigned, mem_addr_t> m_watchpoints; +private: + void read_single_block( mem_addr_t blk_idx, mem_addr_t addr, size_t length, void *data) const; + std::string m_name; + unsigned m_log2_block_size; + typedef mem_map<mem_addr_t,mem_storage<BSIZE> > map_t; + map_t m_data; + std::map<unsigned,mem_addr_t> m_watchpoints; }; #endif |
