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 #include "src/heap/gc-idle-time-handler.h" | 5 #include "src/heap/gc-idle-time-handler.h" |
6 #include "src/heap/gc-tracer.h" | 6 #include "src/heap/gc-tracer.h" |
7 #include "src/utils.h" | 7 #include "src/utils.h" |
8 | 8 |
9 namespace v8 { | 9 namespace v8 { |
10 namespace internal { | 10 namespace internal { |
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
44 } | 44 } |
45 | 45 |
46 | 46 |
47 void GCIdleTimeHandler::HeapState::Print() { | 47 void GCIdleTimeHandler::HeapState::Print() { |
48 PrintF("contexts_disposed=%d ", contexts_disposed); | 48 PrintF("contexts_disposed=%d ", contexts_disposed); |
49 PrintF("contexts_disposal_rate=%f ", contexts_disposal_rate); | 49 PrintF("contexts_disposal_rate=%f ", contexts_disposal_rate); |
50 PrintF("size_of_objects=%" V8_PTR_PREFIX "d ", size_of_objects); | 50 PrintF("size_of_objects=%" V8_PTR_PREFIX "d ", size_of_objects); |
51 PrintF("incremental_marking_stopped=%d ", incremental_marking_stopped); | 51 PrintF("incremental_marking_stopped=%d ", incremental_marking_stopped); |
52 PrintF("can_start_incremental_marking=%d ", can_start_incremental_marking); | 52 PrintF("can_start_incremental_marking=%d ", can_start_incremental_marking); |
53 PrintF("sweeping_in_progress=%d ", sweeping_in_progress); | 53 PrintF("sweeping_in_progress=%d ", sweeping_in_progress); |
| 54 PrintF("has_low_allocation_rate=%d", has_low_allocation_rate); |
54 PrintF("mark_compact_speed=%" V8_PTR_PREFIX "d ", | 55 PrintF("mark_compact_speed=%" V8_PTR_PREFIX "d ", |
55 mark_compact_speed_in_bytes_per_ms); | 56 mark_compact_speed_in_bytes_per_ms); |
56 PrintF("incremental_marking_speed=%" V8_PTR_PREFIX "d ", | 57 PrintF("incremental_marking_speed=%" V8_PTR_PREFIX "d ", |
57 incremental_marking_speed_in_bytes_per_ms); | 58 incremental_marking_speed_in_bytes_per_ms); |
58 PrintF("scavenge_speed=%" V8_PTR_PREFIX "d ", scavenge_speed_in_bytes_per_ms); | 59 PrintF("scavenge_speed=%" V8_PTR_PREFIX "d ", scavenge_speed_in_bytes_per_ms); |
59 PrintF("new_space_size=%" V8_PTR_PREFIX "d ", used_new_space_size); | 60 PrintF("new_space_size=%" V8_PTR_PREFIX "d ", used_new_space_size); |
60 PrintF("new_space_capacity=%" V8_PTR_PREFIX "d ", new_space_capacity); | 61 PrintF("new_space_capacity=%" V8_PTR_PREFIX "d ", new_space_capacity); |
61 PrintF("new_space_allocation_throughput=%" V8_PTR_PREFIX "d ", | 62 PrintF("new_space_allocation_throughput=%" V8_PTR_PREFIX "d ", |
62 new_space_allocation_throughput_in_bytes_per_ms); | 63 new_space_allocation_throughput_in_bytes_per_ms); |
63 PrintF("current_allocation_throughput=%" V8_PTR_PREFIX "d", | |
64 current_allocation_throughput_in_bytes_per_ms); | |
65 } | 64 } |
66 | 65 |
67 | 66 |
68 size_t GCIdleTimeHandler::EstimateMarkingStepSize( | 67 size_t GCIdleTimeHandler::EstimateMarkingStepSize( |
69 size_t idle_time_in_ms, size_t marking_speed_in_bytes_per_ms) { | 68 size_t idle_time_in_ms, size_t marking_speed_in_bytes_per_ms) { |
70 DCHECK(idle_time_in_ms > 0); | 69 DCHECK(idle_time_in_ms > 0); |
71 | 70 |
72 if (marking_speed_in_bytes_per_ms == 0) { | 71 if (marking_speed_in_bytes_per_ms == 0) { |
73 marking_speed_in_bytes_per_ms = kInitialConservativeMarkingSpeed; | 72 marking_speed_in_bytes_per_ms = kInitialConservativeMarkingSpeed; |
74 } | 73 } |
(...skipping 332 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
407 } | 406 } |
408 if (mutator_gcs > idle_mark_compacts_) { | 407 if (mutator_gcs > idle_mark_compacts_) { |
409 return kReduceLatency; | 408 return kReduceLatency; |
410 } | 409 } |
411 break; | 410 break; |
412 } | 411 } |
413 return mode_; | 412 return mode_; |
414 } | 413 } |
415 } | 414 } |
416 } | 415 } |
OLD | NEW |