Main Page   Class Hierarchy   Compound List   File List   Compound Members   File Members  

InstArray.cc

Go to the documentation of this file.
00001 /*
00002     File:           InstArray.cc
00003 
00004     Function:       Template definitions for InstArray.h
00005 
00006     Author(s):      Andrew Willmott
00007 
00008     Copyright:      (c) 1995-2000, Andrew Willmott
00009 
00010     Notes:          
00011 
00012 */
00013 
00014 #include "cl/InstArray.h"
00015 
00026 InstArrayStats::InstArrayStats() :
00027         reads(0),
00028         writes(0),
00029         accesses(0),
00030         trace(0)
00031 {
00032 
00033 }
00034 
00035 Void InstArrayStats::Reset()
00036 {
00037     reads = 0;
00038     writes = 0;
00039 }
00040 
00041 Void InstArrayStats::StartTrace(const FileName &fname)
00042 {
00043     trace = fopen(fname.GetPath(), "w");
00044 }
00045 
00046 Void InstArrayStats::StopTrace()
00047 {
00048     fclose(trace);
00049     trace = 0;
00050 }
00051 
00052 Void InstArrayStats::Read(Int i)
00053 {
00054     reads++;
00055     if (accesses)
00056         accesses[i]++;
00057     if (trace)
00058         fprintf(trace, "%d\n", i);
00059 }
00060 
00061 Void InstArrayStats::Write(Int i)
00062 {
00063     writes++;
00064     if (accesses)
00065         accesses[i]++;
00066     if (trace)
00067         fprintf(trace, "%d\n", i);
00068 }
00069 
00070 Void InstArrayStats::Dump()
00071 {
00072     cout << "reads             " << reads << endl;
00073     cout << "writes            " << writes << endl;
00074     cout << "total accesses    " << reads + writes << endl;
00075 }

Generated at Sat Aug 5 00:16:32 2000 for Class Library by doxygen 1.1.0 written by Dimitri van Heesch, © 1997-2000