Rename kMaxFrameRenderingIdleTime to kMaxActiveIdleTime and adjust it to the currently maximum value of 50ms passed in by the Blink scheduler.

BUG=468692
LOG=n

Review URL: https://codereview.chromium.org/1024543002

Cr-Commit-Position: refs/heads/master@{#27321}
This commit is contained in:
hpayer 2015-03-19 12:41:02 -07:00 committed by Commit bot
parent 74cf8e0122
commit 597992522d
3 changed files with 7 additions and 7 deletions

View File

@ -117,7 +117,7 @@ bool GCIdleTimeHandler::ShouldDoScavenge(
size_t scavenge_speed_in_bytes_per_ms,
size_t new_space_allocation_throughput_in_bytes_per_ms) {
size_t new_space_allocation_limit =
kMaxFrameRenderingIdleTime * scavenge_speed_in_bytes_per_ms;
kMaxScheduledIdleTime * scavenge_speed_in_bytes_per_ms;
// If the limit is larger than the new space size, then scavenging used to be
// really fast. We can take advantage of the whole new space.
@ -133,8 +133,7 @@ bool GCIdleTimeHandler::ShouldDoScavenge(
} else {
// We have to trigger scavenge before we reach the end of new space.
new_space_allocation_limit -=
new_space_allocation_throughput_in_bytes_per_ms *
kMaxFrameRenderingIdleTime;
new_space_allocation_throughput_in_bytes_per_ms * kMaxScheduledIdleTime;
}
if (scavenge_speed_in_bytes_per_ms == 0) {
@ -244,7 +243,7 @@ GCIdleTimeAction GCIdleTimeHandler::Compute(double idle_time_in_ms,
// can get rid of this special case and always start incremental marking.
int remaining_mark_sweeps =
kMaxMarkCompactsInIdleRound - mark_compacts_since_idle_round_started_;
if (static_cast<size_t>(idle_time_in_ms) > kMaxFrameRenderingIdleTime &&
if (static_cast<size_t>(idle_time_in_ms) > kMaxScheduledIdleTime &&
(remaining_mark_sweeps <= 2 ||
!heap_state.can_start_incremental_marking)) {
return GCIdleTimeAction::FullGC();

View File

@ -122,8 +122,9 @@ class GCIdleTimeHandler {
// Number of scavenges that will trigger start of new idle round.
static const int kIdleScavengeThreshold;
// That is the maximum idle time we will have during frame rendering.
static const size_t kMaxFrameRenderingIdleTime = 16;
// This is the maximum scheduled idle time. Note that it can be more than
// 16 ms when there is currently no rendering going on.
static const size_t kMaxScheduledIdleTime = 50;
// If we haven't recorded any scavenger events yet, we use a conservative
// lower bound for the scavenger speed.

View File

@ -4678,7 +4678,7 @@ bool Heap::IdleNotification(double deadline_in_seconds) {
bool Heap::RecentIdleNotificationHappened() {
return (last_idle_notification_time_ +
GCIdleTimeHandler::kMaxFrameRenderingIdleTime) >
GCIdleTimeHandler::kMaxScheduledIdleTime) >
MonotonicallyIncreasingTimeInMs();
}