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

Side by Side Diff: src/compiler-dispatcher/compiler-dispatcher-tracer.h

Issue 2637123002: Revert of [complier] Enable parallel eager inner function compilation with compiler dispatcher. (Closed)
Patch Set: Created 3 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
OLDNEW
1 // Copyright 2016 the V8 project authors. All rights reserved. 1 // Copyright 2016 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_COMPILER_DISPATCHER_COMPILER_DISPATCHER_TRACER_H_ 5 #ifndef V8_COMPILER_DISPATCHER_COMPILER_DISPATCHER_TRACER_H_
6 #define V8_COMPILER_DISPATCHER_COMPILER_DISPATCHER_TRACER_H_ 6 #define V8_COMPILER_DISPATCHER_COMPILER_DISPATCHER_TRACER_H_
7 7
8 #include <utility> 8 #include <utility>
9 9
10 #include "src/base/macros.h" 10 #include "src/base/macros.h"
(...skipping 17 matching lines...) Expand all
28 28
29 #define COMPILER_DISPATCHER_TRACE_SCOPE(tracer, scope_id) \ 29 #define COMPILER_DISPATCHER_TRACE_SCOPE(tracer, scope_id) \
30 COMPILER_DISPATCHER_TRACE_SCOPE_WITH_NUM(tracer, scope_id, 0) 30 COMPILER_DISPATCHER_TRACE_SCOPE_WITH_NUM(tracer, scope_id, 0)
31 31
32 class V8_EXPORT_PRIVATE CompilerDispatcherTracer { 32 class V8_EXPORT_PRIVATE CompilerDispatcherTracer {
33 public: 33 public:
34 enum class ScopeID { 34 enum class ScopeID {
35 kPrepareToParse, 35 kPrepareToParse,
36 kParse, 36 kParse,
37 kFinalizeParsing, 37 kFinalizeParsing,
38 kAnalyze,
39 kPrepareToCompile, 38 kPrepareToCompile,
40 kCompile, 39 kCompile,
41 kFinalizeCompiling 40 kFinalizeCompiling
42 }; 41 };
43 42
44 class Scope { 43 class Scope {
45 public: 44 public:
46 Scope(CompilerDispatcherTracer* tracer, ScopeID scope_id, size_t num = 0); 45 Scope(CompilerDispatcherTracer* tracer, ScopeID scope_id, size_t num = 0);
47 ~Scope(); 46 ~Scope();
48 47
49 static const char* Name(ScopeID scoped_id); 48 static const char* Name(ScopeID scoped_id);
50 49
51 private: 50 private:
52 CompilerDispatcherTracer* tracer_; 51 CompilerDispatcherTracer* tracer_;
53 ScopeID scope_id_; 52 ScopeID scope_id_;
54 size_t num_; 53 size_t num_;
55 double start_time_; 54 double start_time_;
56 55
57 DISALLOW_COPY_AND_ASSIGN(Scope); 56 DISALLOW_COPY_AND_ASSIGN(Scope);
58 }; 57 };
59 58
60 explicit CompilerDispatcherTracer(Isolate* isolate); 59 explicit CompilerDispatcherTracer(Isolate* isolate);
61 ~CompilerDispatcherTracer(); 60 ~CompilerDispatcherTracer();
62 61
63 void RecordPrepareToParse(double duration_ms); 62 void RecordPrepareToParse(double duration_ms);
64 void RecordParse(double duration_ms, size_t source_length); 63 void RecordParse(double duration_ms, size_t source_length);
65 void RecordFinalizeParsing(double duration_ms); 64 void RecordFinalizeParsing(double duration_ms);
66 void RecordAnalyze(double duration_ms);
67 void RecordPrepareToCompile(double duration_ms); 65 void RecordPrepareToCompile(double duration_ms);
68 void RecordCompile(double duration_ms, size_t ast_size_in_bytes); 66 void RecordCompile(double duration_ms, size_t ast_size_in_bytes);
69 void RecordFinalizeCompiling(double duration_ms); 67 void RecordFinalizeCompiling(double duration_ms);
70 68
71 double EstimatePrepareToParseInMs() const; 69 double EstimatePrepareToParseInMs() const;
72 double EstimateParseInMs(size_t source_length) const; 70 double EstimateParseInMs(size_t source_length) const;
73 double EstimateFinalizeParsingInMs() const; 71 double EstimateFinalizeParsingInMs() const;
74 double EstimateAnalyzeInMs() const;
75 double EstimatePrepareToCompileInMs() const; 72 double EstimatePrepareToCompileInMs() const;
76 double EstimateCompileInMs(size_t ast_size_in_bytes) const; 73 double EstimateCompileInMs(size_t ast_size_in_bytes) const;
77 double EstimateFinalizeCompilingInMs() const; 74 double EstimateFinalizeCompilingInMs() const;
78 75
79 void DumpStatistics() const; 76 void DumpStatistics() const;
80 77
81 private: 78 private:
82 static double Average(const base::RingBuffer<double>& buffer); 79 static double Average(const base::RingBuffer<double>& buffer);
83 static double Estimate( 80 static double Estimate(
84 const base::RingBuffer<std::pair<size_t, double>>& buffer, size_t num); 81 const base::RingBuffer<std::pair<size_t, double>>& buffer, size_t num);
85 82
86 mutable base::Mutex mutex_; 83 mutable base::Mutex mutex_;
87 base::RingBuffer<double> prepare_parse_events_; 84 base::RingBuffer<double> prepare_parse_events_;
88 base::RingBuffer<std::pair<size_t, double>> parse_events_; 85 base::RingBuffer<std::pair<size_t, double>> parse_events_;
89 base::RingBuffer<double> finalize_parsing_events_; 86 base::RingBuffer<double> finalize_parsing_events_;
90 base::RingBuffer<double> analyze_events_;
91 base::RingBuffer<double> prepare_compile_events_; 87 base::RingBuffer<double> prepare_compile_events_;
92 base::RingBuffer<std::pair<size_t, double>> compile_events_; 88 base::RingBuffer<std::pair<size_t, double>> compile_events_;
93 base::RingBuffer<double> finalize_compiling_events_; 89 base::RingBuffer<double> finalize_compiling_events_;
94 90
95 RuntimeCallStats* runtime_call_stats_; 91 RuntimeCallStats* runtime_call_stats_;
96 92
97 DISALLOW_COPY_AND_ASSIGN(CompilerDispatcherTracer); 93 DISALLOW_COPY_AND_ASSIGN(CompilerDispatcherTracer);
98 }; 94 };
99 95
100 } // namespace internal 96 } // namespace internal
101 } // namespace v8 97 } // namespace v8
102 98
103 #endif // V8_COMPILER_DISPATCHER_COMPILER_DISPATCHER_TRACER_H_ 99 #endif // V8_COMPILER_DISPATCHER_COMPILER_DISPATCHER_TRACER_H_
OLDNEW
« no previous file with comments | « src/compiler-dispatcher/compiler-dispatcher-job.cc ('k') | src/compiler-dispatcher/compiler-dispatcher-tracer.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698