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

Side by Side Diff: src/log.h

Issue 827993003: Integrate Chrome tracing with V8 (WIP) (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Cleanup Created 5 years, 11 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
« no previous file with comments | « src/counters.cc ('k') | src/log.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 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef V8_LOG_H_ 5 #ifndef V8_LOG_H_
6 #define V8_LOG_H_ 6 #define V8_LOG_H_
7 7
8 #include <string> 8 #include <string>
9 9
10 #include "src/allocation.h" 10 #include "src/allocation.h"
(...skipping 134 matching lines...) Expand 10 before | Expand all | Expand 10 after
145 145
146 class JitLogger; 146 class JitLogger;
147 class PerfBasicLogger; 147 class PerfBasicLogger;
148 class LowLevelLogger; 148 class LowLevelLogger;
149 class PerfJitLogger; 149 class PerfJitLogger;
150 class Sampler; 150 class Sampler;
151 151
152 class Logger { 152 class Logger {
153 public: 153 public:
154 enum StartEnd { START = 0, END = 1 }; 154 enum StartEnd { START = 0, END = 1 };
155 enum Overhead { LOW = 0, NORMAL = 1, HIGH = 2 };
155 156
156 #define DECLARE_ENUM(enum_item, ignore) enum_item, 157 #define DECLARE_ENUM(enum_item, ignore) enum_item,
157 enum LogEventsAndTags { 158 enum LogEventsAndTags {
158 LOG_EVENTS_AND_TAGS_LIST(DECLARE_ENUM) 159 LOG_EVENTS_AND_TAGS_LIST(DECLARE_ENUM)
159 NUMBER_OF_LOG_EVENTS 160 NUMBER_OF_LOG_EVENTS
160 }; 161 };
161 #undef DECLARE_ENUM 162 #undef DECLARE_ENUM
162 163
163 // Acquires resources for logging if the right flags are set. 164 // Acquires resources for logging if the right flags are set.
164 bool SetUp(Isolate* isolate); 165 bool SetUp(Isolate* isolate);
(...skipping 131 matching lines...) Expand 10 before | Expand all | Expand 10 after
296 void CurrentTimeEvent(); 297 void CurrentTimeEvent();
297 298
298 void TimerEvent(StartEnd se, const char* name); 299 void TimerEvent(StartEnd se, const char* name);
299 300
300 static void EnterExternal(Isolate* isolate); 301 static void EnterExternal(Isolate* isolate);
301 static void LeaveExternal(Isolate* isolate); 302 static void LeaveExternal(Isolate* isolate);
302 303
303 static void DefaultEventLoggerSentinel(const char* name, int event) {} 304 static void DefaultEventLoggerSentinel(const char* name, int event) {}
304 305
305 INLINE(static void CallEventLogger(Isolate* isolate, const char* name, 306 INLINE(static void CallEventLogger(Isolate* isolate, const char* name,
306 StartEnd se, bool expose_to_api)); 307 StartEnd se, Overhead overhead));
307 308
308 // ==== Events logged by --log-regexp ==== 309 // ==== Events logged by --log-regexp ====
309 // Regexp compilation and execution events. 310 // Regexp compilation and execution events.
310 311
311 void RegExpCompileEvent(Handle<JSRegExp> regexp, bool in_cache); 312 void RegExpCompileEvent(Handle<JSRegExp> regexp, bool in_cache);
312 313
313 bool is_logging() { 314 bool is_logging() {
314 return is_logging_; 315 return is_logging_;
315 } 316 }
316 317
(...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after
415 // Guards against multiple calls to TearDown() that can happen in some tests. 416 // Guards against multiple calls to TearDown() that can happen in some tests.
416 // 'true' between SetUp() and TearDown(). 417 // 'true' between SetUp() and TearDown().
417 bool is_initialized_; 418 bool is_initialized_;
418 419
419 base::ElapsedTimer timer_; 420 base::ElapsedTimer timer_;
420 421
421 friend class CpuProfiler; 422 friend class CpuProfiler;
422 }; 423 };
423 424
424 425
425 #define TIMER_EVENTS_LIST(V) \ 426 #define TIMER_EVENTS_LIST(V) \
426 V(RecompileSynchronous, true) \ 427 V(RecompileSynchronous, NORMAL) \
427 V(RecompileConcurrent, true) \ 428 V(RecompileConcurrent, NORMAL) \
428 V(CompileFullCode, true) \ 429 V(CompileFullCode, NORMAL) \
429 V(Execute, true) \ 430 V(Execute, NORMAL) \
430 V(External, true) \ 431 V(External, NORMAL) \
431 V(IcMiss, false) 432 V(IcMiss, HIGH)
432 433
433 #define V(TimerName, expose) \ 434 #define V(TimerName, TimerOverhead) \
434 class TimerEvent##TimerName : public AllStatic { \ 435 class TimerEvent##TimerName : public AllStatic { \
435 public: \ 436 public: \
436 static const char* name(void* unused = NULL) { return "V8." #TimerName; } \ 437 static const char* name(void* unused = NULL) { return "V8." #TimerName; } \
437 static bool expose_to_api() { return expose; } \ 438 static Logger::Overhead overhead() { return Logger::TimerOverhead; } \
438 }; 439 };
439 TIMER_EVENTS_LIST(V) 440 TIMER_EVENTS_LIST(V)
440 #undef V 441 #undef V
441 442
442 443
443 template <class TimerEvent> 444 template <class TimerEvent>
444 class TimerEventScope { 445 class TimerEventScope {
445 public: 446 public:
446 explicit TimerEventScope(Isolate* isolate) : isolate_(isolate) { 447 explicit TimerEventScope(Isolate* isolate) : isolate_(isolate) {
447 LogTimerEvent(Logger::START); 448 LogTimerEvent(Logger::START);
(...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after
534 int length) = 0; 535 int length) = 0;
535 536
536 NameBuffer* name_buffer_; 537 NameBuffer* name_buffer_;
537 }; 538 };
538 539
539 540
540 } } // namespace v8::internal 541 } } // namespace v8::internal
541 542
542 543
543 #endif // V8_LOG_H_ 544 #endif // V8_LOG_H_
OLDNEW
« no previous file with comments | « src/counters.cc ('k') | src/log.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698