1/* 2 * Copyright (c) 2006 The Regents of The University of Michigan 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; --- 14 unchanged lines hidden (view full) --- 23 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 24 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 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 * Authors: Kevin Lim 29 */ 30 |
31#include <cstring> 32 |
33#include "base/timebuf.hh" 34#include "cpu/activity.hh" 35 36ActivityRecorder::ActivityRecorder(int num_stages, int longest_latency, 37 int activity) 38 : activityBuffer(longest_latency, 0), longestLatency(longest_latency), 39 activityCount(activity), numStages(num_stages) 40{ 41 stageActive = new bool[numStages]; |
42 std::memset(stageActive, 0, numStages); |
43} 44 45void 46ActivityRecorder::activity() 47{ 48 // If we've already recorded activity for this cycle, we don't 49 // want to increment the count any more. 50 if (activityBuffer[0]) { --- 60 unchanged lines hidden (view full) --- 111 112 assert(activityCount >= 0); 113} 114 115void 116ActivityRecorder::reset() 117{ 118 activityCount = 0; |
119 std::memset(stageActive, 0, numStages); |
120 for (int i = 0; i < longestLatency + 1; ++i) 121 activityBuffer.advance(); 122} 123 124void 125ActivityRecorder::dump() 126{ 127 for (int i = 0; i <= longestLatency; ++i) { --- 32 unchanged lines hidden --- |