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 #include "src/base/compiler-specific.h" |
8 #include "src/base/platform/platform.h" | 9 #include "src/base/platform/platform.h" |
9 #include "src/counters.h" | 10 #include "src/counters.h" |
10 #include "src/globals.h" | 11 #include "src/globals.h" |
11 | 12 |
12 namespace v8 { | 13 namespace v8 { |
13 namespace internal { | 14 namespace internal { |
14 | 15 |
15 template <typename T> | 16 template <typename T> |
16 class RingBuffer { | 17 class RingBuffer { |
17 public: | 18 public: |
(...skipping 358 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
376 // Print one detailed trace line in name=value format. | 377 // Print one detailed trace line in name=value format. |
377 // TODO(ernstm): Move to Heap. | 378 // TODO(ernstm): Move to Heap. |
378 void PrintNVP() const; | 379 void PrintNVP() const; |
379 | 380 |
380 // Print one trace line. | 381 // Print one trace line. |
381 // TODO(ernstm): Move to Heap. | 382 // TODO(ernstm): Move to Heap. |
382 void Print() const; | 383 void Print() const; |
383 | 384 |
384 // Prints a line and also adds it to the heap's ring buffer so that | 385 // Prints a line and also adds it to the heap's ring buffer so that |
385 // it can be included in later crash dumps. | 386 // it can be included in later crash dumps. |
386 void Output(const char* format, ...) const; | 387 void PRINTF_FORMAT(2, 3) Output(const char* format, ...) const; |
387 | 388 |
388 void ClearMarkCompactStatistics() { | 389 void ClearMarkCompactStatistics() { |
389 cumulative_incremental_marking_steps_ = 0; | 390 cumulative_incremental_marking_steps_ = 0; |
390 cumulative_incremental_marking_bytes_ = 0; | 391 cumulative_incremental_marking_bytes_ = 0; |
391 cumulative_incremental_marking_duration_ = 0; | 392 cumulative_incremental_marking_duration_ = 0; |
392 cumulative_pure_incremental_marking_duration_ = 0; | 393 cumulative_pure_incremental_marking_duration_ = 0; |
393 longest_incremental_marking_step_ = 0; | 394 longest_incremental_marking_step_ = 0; |
394 cumulative_incremental_marking_finalization_steps_ = 0; | 395 cumulative_incremental_marking_finalization_steps_ = 0; |
395 cumulative_incremental_marking_finalization_duration_ = 0; | 396 cumulative_incremental_marking_finalization_duration_ = 0; |
396 longest_incremental_marking_finalization_step_ = 0; | 397 longest_incremental_marking_finalization_step_ = 0; |
(...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
490 RingBuffer<BytesAndDuration> recorded_old_generation_allocations_; | 491 RingBuffer<BytesAndDuration> recorded_old_generation_allocations_; |
491 RingBuffer<double> recorded_context_disposal_times_; | 492 RingBuffer<double> recorded_context_disposal_times_; |
492 RingBuffer<double> recorded_survival_ratios_; | 493 RingBuffer<double> recorded_survival_ratios_; |
493 | 494 |
494 DISALLOW_COPY_AND_ASSIGN(GCTracer); | 495 DISALLOW_COPY_AND_ASSIGN(GCTracer); |
495 }; | 496 }; |
496 } // namespace internal | 497 } // namespace internal |
497 } // namespace v8 | 498 } // namespace v8 |
498 | 499 |
499 #endif // V8_HEAP_GC_TRACER_H_ | 500 #endif // V8_HEAP_GC_TRACER_H_ |
OLD | NEW |