OLD | NEW |
1 // Copyright 2014 the V8 project authors. All rights reserved. | 1 // Copyright 2014 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_HEAP_GC_TRACER_H_ | 5 #ifndef V8_HEAP_GC_TRACER_H_ |
6 #define V8_HEAP_GC_TRACER_H_ | 6 #define V8_HEAP_GC_TRACER_H_ |
7 | 7 |
8 namespace v8 { | 8 namespace v8 { |
9 namespace internal { | 9 namespace internal { |
10 | 10 |
(...skipping 179 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
190 | 190 |
191 // Cumulative duration of incremental marking steps since creation of | 191 // Cumulative duration of incremental marking steps since creation of |
192 // tracer. (value at start of event) | 192 // tracer. (value at start of event) |
193 double cumulative_incremental_marking_duration; | 193 double cumulative_incremental_marking_duration; |
194 | 194 |
195 // Duration of incremental marking steps since | 195 // Duration of incremental marking steps since |
196 // - last event for SCAVENGER events | 196 // - last event for SCAVENGER events |
197 // - last MARK_COMPACTOR event for MARK_COMPACTOR events | 197 // - last MARK_COMPACTOR event for MARK_COMPACTOR events |
198 double incremental_marking_duration; | 198 double incremental_marking_duration; |
199 | 199 |
| 200 // Cumulative pure duration of incremental marking steps since creation of |
| 201 // tracer. (value at start of event) |
| 202 double cumulative_pure_incremental_marking_duration; |
| 203 |
| 204 // Duration of pure incremental marking steps since |
| 205 // - last event for SCAVENGER events |
| 206 // - last MARK_COMPACTOR event for MARK_COMPACTOR events |
| 207 double pure_incremental_marking_duration; |
| 208 |
200 // Longest incremental marking step since start of marking. | 209 // Longest incremental marking step since start of marking. |
201 // (value at start of event) | 210 // (value at start of event) |
202 double longest_incremental_marking_step; | 211 double longest_incremental_marking_step; |
203 | 212 |
204 // Amounts of time spent in different scopes during GC. | 213 // Amounts of time spent in different scopes during GC. |
205 double scopes[Scope::NUMBER_OF_SCOPES]; | 214 double scopes[Scope::NUMBER_OF_SCOPES]; |
206 }; | 215 }; |
207 | 216 |
208 static const int kRingBufferMaxSize = 10; | 217 static const int kRingBufferMaxSize = 10; |
209 | 218 |
(...skipping 102 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
312 // Cumulative number of incremental marking steps since creation of tracer. | 321 // Cumulative number of incremental marking steps since creation of tracer. |
313 int cumulative_incremental_marking_steps_; | 322 int cumulative_incremental_marking_steps_; |
314 | 323 |
315 // Cumulative size of incremental marking steps (in bytes) since creation of | 324 // Cumulative size of incremental marking steps (in bytes) since creation of |
316 // tracer. | 325 // tracer. |
317 intptr_t cumulative_incremental_marking_bytes_; | 326 intptr_t cumulative_incremental_marking_bytes_; |
318 | 327 |
319 // Cumulative duration of incremental marking steps since creation of tracer. | 328 // Cumulative duration of incremental marking steps since creation of tracer. |
320 double cumulative_incremental_marking_duration_; | 329 double cumulative_incremental_marking_duration_; |
321 | 330 |
| 331 // Cumulative duration of pure incremental marking steps since creation of |
| 332 // tracer. |
| 333 double cumulative_pure_incremental_marking_duration_; |
| 334 |
322 // Longest incremental marking step since start of marking. | 335 // Longest incremental marking step since start of marking. |
323 double longest_incremental_marking_step_; | 336 double longest_incremental_marking_step_; |
324 | 337 |
325 // Total marking time. | 338 // Total marking time. |
326 // This timer is precise when run with --print-cumulative-gc-stat | 339 // This timer is precise when run with --print-cumulative-gc-stat |
327 double cumulative_marking_duration_; | 340 double cumulative_marking_duration_; |
328 | 341 |
329 // Total sweeping time on the main thread. | 342 // Total sweeping time on the main thread. |
330 // This timer is precise when run with --print-cumulative-gc-stat | 343 // This timer is precise when run with --print-cumulative-gc-stat |
331 // TODO(hpayer): Account for sweeping time on sweeper threads. Add a | 344 // TODO(hpayer): Account for sweeping time on sweeper threads. Add a |
332 // different field for that. | 345 // different field for that. |
333 // TODO(hpayer): This timer right now just holds the sweeping time | 346 // TODO(hpayer): This timer right now just holds the sweeping time |
334 // of the initial atomic sweeping pause. Make sure that it accumulates | 347 // of the initial atomic sweeping pause. Make sure that it accumulates |
335 // all sweeping operations performed on the main thread. | 348 // all sweeping operations performed on the main thread. |
336 double cumulative_sweeping_duration_; | 349 double cumulative_sweeping_duration_; |
337 | 350 |
338 DISALLOW_COPY_AND_ASSIGN(GCTracer); | 351 DISALLOW_COPY_AND_ASSIGN(GCTracer); |
339 }; | 352 }; |
340 } | 353 } |
341 } // namespace v8::internal | 354 } // namespace v8::internal |
342 | 355 |
343 #endif // V8_HEAP_GC_TRACER_H_ | 356 #endif // V8_HEAP_GC_TRACER_H_ |
OLD | NEW |