Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(191)

Side by Side Diff: src/counters.h

Issue 23490015: Reland^2 "Add Chromium-style TimeDelta, Time and TimeTicks classes, and a new ElapsedTimer class." (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Some windows cleanup Created 7 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « src/compiler.cc ('k') | src/counters.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2012 the V8 project authors. All rights reserved. 1 // Copyright 2012 the V8 project authors. All rights reserved.
2 // Redistribution and use in source and binary forms, with or without 2 // Redistribution and use in source and binary forms, with or without
3 // modification, are permitted provided that the following conditions are 3 // modification, are permitted provided that the following conditions are
4 // met: 4 // met:
5 // 5 //
6 // * Redistributions of source code must retain the above copyright 6 // * Redistributions of source code must retain the above copyright
7 // notice, this list of conditions and the following disclaimer. 7 // notice, this list of conditions and the following disclaimer.
8 // * Redistributions in binary form must reproduce the above 8 // * Redistributions in binary form must reproduce the above
9 // copyright notice, this list of conditions and the following 9 // copyright notice, this list of conditions and the following
10 // disclaimer in the documentation and/or other materials provided 10 // disclaimer in the documentation and/or other materials provided
(...skipping 227 matching lines...) Expand 10 before | Expand all | Expand 10 after
238 238
239 // A HistogramTimer allows distributions of results to be created. 239 // A HistogramTimer allows distributions of results to be created.
240 class HistogramTimer : public Histogram { 240 class HistogramTimer : public Histogram {
241 public: 241 public:
242 HistogramTimer() { } 242 HistogramTimer() { }
243 HistogramTimer(const char* name, 243 HistogramTimer(const char* name,
244 int min, 244 int min,
245 int max, 245 int max,
246 int num_buckets, 246 int num_buckets,
247 Isolate* isolate) 247 Isolate* isolate)
248 : Histogram(name, min, max, num_buckets, isolate), 248 : Histogram(name, min, max, num_buckets, isolate) {}
249 start_time_(0),
250 stop_time_(0) { }
251 249
252 // Start the timer. 250 // Start the timer.
253 void Start(); 251 void Start();
254 252
255 // Stop the timer and record the results. 253 // Stop the timer and record the results.
256 void Stop(); 254 void Stop();
257 255
258 // Returns true if the timer is running. 256 // Returns true if the timer is running.
259 bool Running() { 257 bool Running() {
260 return Enabled() && (start_time_ != 0) && (stop_time_ == 0); 258 return Enabled() && timer_.IsStarted();
261 } 259 }
262 260
263 private: 261 private:
264 int64_t start_time_; 262 ElapsedTimer timer_;
265 int64_t stop_time_;
266 }; 263 };
267 264
268 // Helper class for scoping a HistogramTimer. 265 // Helper class for scoping a HistogramTimer.
269 class HistogramTimerScope BASE_EMBEDDED { 266 class HistogramTimerScope BASE_EMBEDDED {
270 public: 267 public:
271 explicit HistogramTimerScope(HistogramTimer* timer) : 268 explicit HistogramTimerScope(HistogramTimer* timer) :
272 timer_(timer) { 269 timer_(timer) {
273 timer_->Start(); 270 timer_->Start();
274 } 271 }
275 ~HistogramTimerScope() { 272 ~HistogramTimerScope() {
276 timer_->Stop(); 273 timer_->Stop();
277 } 274 }
278 private: 275 private:
279 HistogramTimer* timer_; 276 HistogramTimer* timer_;
280 }; 277 };
281 278
282 279
283 } } // namespace v8::internal 280 } } // namespace v8::internal
284 281
285 #endif // V8_COUNTERS_H_ 282 #endif // V8_COUNTERS_H_
OLDNEW
« no previous file with comments | « src/compiler.cc ('k') | src/counters.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698