| 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/platform/platform.h" | 8 #include "src/base/platform/platform.h" |
| 9 | 9 |
| 10 namespace v8 { | 10 namespace v8 { |
| (...skipping 364 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 375 | 375 |
| 376 // Compute the average mark-sweep speed in bytes/millisecond. | 376 // Compute the average mark-sweep speed in bytes/millisecond. |
| 377 // Returns 0 if no events have been recorded. | 377 // Returns 0 if no events have been recorded. |
| 378 intptr_t MarkCompactSpeedInBytesPerMillisecond() const; | 378 intptr_t MarkCompactSpeedInBytesPerMillisecond() const; |
| 379 | 379 |
| 380 // Compute the average incremental mark-sweep finalize speed in | 380 // Compute the average incremental mark-sweep finalize speed in |
| 381 // bytes/millisecond. | 381 // bytes/millisecond. |
| 382 // Returns 0 if no events have been recorded. | 382 // Returns 0 if no events have been recorded. |
| 383 intptr_t FinalIncrementalMarkCompactSpeedInBytesPerMillisecond() const; | 383 intptr_t FinalIncrementalMarkCompactSpeedInBytesPerMillisecond() const; |
| 384 | 384 |
| 385 // Compute the overall mark compact speed including incremental steps |
| 386 // and the final mark-compact step. |
| 387 double CombinedMarkCompactSpeedInBytesPerMillisecond(); |
| 388 |
| 385 // Allocation throughput in the new space in bytes/millisecond. | 389 // Allocation throughput in the new space in bytes/millisecond. |
| 386 // Returns 0 if no allocation events have been recorded. | 390 // Returns 0 if no allocation events have been recorded. |
| 387 size_t NewSpaceAllocationThroughputInBytesPerMillisecond() const; | 391 size_t NewSpaceAllocationThroughputInBytesPerMillisecond( |
| 392 double time_ms = 0) const; |
| 393 |
| 394 // Allocation throughput in the old generation in bytes/millisecond in the |
| 395 // last time_ms milliseconds. |
| 396 // Returns 0 if no allocation events have been recorded. |
| 397 size_t OldGenerationAllocationThroughputInBytesPerMillisecond( |
| 398 double time_ms = 0) const; |
| 388 | 399 |
| 389 // Allocation throughput in heap in bytes/millisecond in the last time_ms | 400 // Allocation throughput in heap in bytes/millisecond in the last time_ms |
| 390 // milliseconds. | 401 // milliseconds. |
| 391 // Returns 0 if no allocation events have been recorded. | 402 // Returns 0 if no allocation events have been recorded. |
| 392 size_t AllocationThroughputInBytesPerMillisecond(double time_ms) const; | 403 size_t AllocationThroughputInBytesPerMillisecond(double time_ms) const; |
| 393 | 404 |
| 394 // Allocation throughput in heap in bytes/milliseconds in | 405 // Allocation throughput in heap in bytes/milliseconds in |
| 395 // the last five seconds. | 406 // the last five seconds. |
| 396 // Returns 0 if no allocation events have been recorded. | 407 // Returns 0 if no allocation events have been recorded. |
| 397 size_t CurrentAllocationThroughputInBytesPerMillisecond() const; | 408 size_t CurrentAllocationThroughputInBytesPerMillisecond() const; |
| (...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 459 EventBuffer scavenger_events_; | 470 EventBuffer scavenger_events_; |
| 460 | 471 |
| 461 // RingBuffers for MARK_COMPACTOR events. | 472 // RingBuffers for MARK_COMPACTOR events. |
| 462 EventBuffer mark_compactor_events_; | 473 EventBuffer mark_compactor_events_; |
| 463 | 474 |
| 464 // RingBuffers for INCREMENTAL_MARK_COMPACTOR events. | 475 // RingBuffers for INCREMENTAL_MARK_COMPACTOR events. |
| 465 EventBuffer incremental_mark_compactor_events_; | 476 EventBuffer incremental_mark_compactor_events_; |
| 466 | 477 |
| 467 // RingBuffer for allocation events. | 478 // RingBuffer for allocation events. |
| 468 AllocationEventBuffer new_space_allocation_events_; | 479 AllocationEventBuffer new_space_allocation_events_; |
| 469 AllocationEventBuffer allocation_events_; | 480 AllocationEventBuffer old_generation_allocation_events_; |
| 470 | 481 |
| 471 // RingBuffer for context disposal events. | 482 // RingBuffer for context disposal events. |
| 472 ContextDisposalEventBuffer context_disposal_events_; | 483 ContextDisposalEventBuffer context_disposal_events_; |
| 473 | 484 |
| 474 // RingBuffer for survival events. | 485 // RingBuffer for survival events. |
| 475 SurvivalEventBuffer survival_events_; | 486 SurvivalEventBuffer survival_events_; |
| 476 | 487 |
| 477 // Cumulative number of incremental marking steps since creation of tracer. | 488 // Cumulative number of incremental marking steps since creation of tracer. |
| 478 int cumulative_incremental_marking_steps_; | 489 int cumulative_incremental_marking_steps_; |
| 479 | 490 |
| (...skipping 27 matching lines...) Expand all Loading... |
| 507 // Timestamp and allocation counter at the last sampled allocation event. | 518 // Timestamp and allocation counter at the last sampled allocation event. |
| 508 double allocation_time_ms_; | 519 double allocation_time_ms_; |
| 509 size_t new_space_allocation_counter_bytes_; | 520 size_t new_space_allocation_counter_bytes_; |
| 510 size_t old_generation_allocation_counter_bytes_; | 521 size_t old_generation_allocation_counter_bytes_; |
| 511 | 522 |
| 512 // Accumulated duration and allocated bytes since the last GC. | 523 // Accumulated duration and allocated bytes since the last GC. |
| 513 double allocation_duration_since_gc_; | 524 double allocation_duration_since_gc_; |
| 514 size_t new_space_allocation_in_bytes_since_gc_; | 525 size_t new_space_allocation_in_bytes_since_gc_; |
| 515 size_t old_generation_allocation_in_bytes_since_gc_; | 526 size_t old_generation_allocation_in_bytes_since_gc_; |
| 516 | 527 |
| 528 double combined_mark_compact_speed_cache_; |
| 529 |
| 517 // Counts how many tracers were started without stopping. | 530 // Counts how many tracers were started without stopping. |
| 518 int start_counter_; | 531 int start_counter_; |
| 519 | 532 |
| 520 DISALLOW_COPY_AND_ASSIGN(GCTracer); | 533 DISALLOW_COPY_AND_ASSIGN(GCTracer); |
| 521 }; | 534 }; |
| 522 } | 535 } |
| 523 } // namespace v8::internal | 536 } // namespace v8::internal |
| 524 | 537 |
| 525 #endif // V8_HEAP_GC_TRACER_H_ | 538 #endif // V8_HEAP_GC_TRACER_H_ |
| OLD | NEW |