New issue
Advanced search Search tips

Issue 732664 link

Starred by 1 user

Issue metadata

Status: Started
Owner:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Bug



Sign in to add a comment

Introduce page navigation GC for low end device low memory situation

Project Member Reported by keishi@chromium.org, Jun 13 2017

Issue description

On a low end device, in a low memory situation, we should trigger a page navigation GC as there is guaranteed garbage.

Draft design doc: https://docs.google.com/document/d/1vJKPuMbJ5CQiFwrkxvTrB-x25SKF22-ui42oExvwpP0/edit
 

Comment 1 by bashi@chromium.org, Jun 13 2017

Components: Blink>MemoryAllocator>GarbageCollection
Project Member

Comment 2 by bugdroid1@chromium.org, Jun 27 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/0787b78381f3abb74a078bde05a6084bf0ed8d2c

commit 0787b78381f3abb74a078bde05a6084bf0ed8d2c
Author: keishi <keishi@chromium.org>
Date: Tue Jun 27 07:03:42 2017

Low memory page navigation GC for low end devices

Until now we have avoided running GCs during page loads but for low end devices in low memory situations we should do a page navigation GC to reduce peak memory usage. system_health.memory_mobile showed that we can expect >10MB peak RSS reduction on certain sites.

Design doc: https://docs.google.com/document/d/13f25LGfpWWOOWk9U44it9Gva6i4JRsrQDlnxAJeSEZo/edit?usp=sharing

BUG=732664

Review-Url: https://codereview.chromium.org/2948983002
Cr-Commit-Position: refs/heads/master@{#482556}

[modify] https://crrev.com/0787b78381f3abb74a078bde05a6084bf0ed8d2c/third_party/WebKit/Source/bindings/core/v8/LocalWindowProxy.cpp
[modify] https://crrev.com/0787b78381f3abb74a078bde05a6084bf0ed8d2c/third_party/WebKit/Source/bindings/core/v8/LocalWindowProxy.h
[modify] https://crrev.com/0787b78381f3abb74a078bde05a6084bf0ed8d2c/third_party/WebKit/Source/bindings/core/v8/RemoteWindowProxy.cpp
[modify] https://crrev.com/0787b78381f3abb74a078bde05a6084bf0ed8d2c/third_party/WebKit/Source/bindings/core/v8/RemoteWindowProxy.h
[modify] https://crrev.com/0787b78381f3abb74a078bde05a6084bf0ed8d2c/third_party/WebKit/Source/bindings/core/v8/V8GCForContextDispose.cpp
[modify] https://crrev.com/0787b78381f3abb74a078bde05a6084bf0ed8d2c/third_party/WebKit/Source/bindings/core/v8/V8GCForContextDispose.h
[modify] https://crrev.com/0787b78381f3abb74a078bde05a6084bf0ed8d2c/third_party/WebKit/Source/bindings/core/v8/WindowProxy.cpp
[modify] https://crrev.com/0787b78381f3abb74a078bde05a6084bf0ed8d2c/third_party/WebKit/Source/bindings/core/v8/WindowProxy.h
[modify] https://crrev.com/0787b78381f3abb74a078bde05a6084bf0ed8d2c/third_party/WebKit/Source/bindings/core/v8/WindowProxyManager.cpp
[modify] https://crrev.com/0787b78381f3abb74a078bde05a6084bf0ed8d2c/third_party/WebKit/Source/bindings/core/v8/WindowProxyManager.h
[modify] https://crrev.com/0787b78381f3abb74a078bde05a6084bf0ed8d2c/third_party/WebKit/Source/core/exported/WebFrame.cpp
[modify] https://crrev.com/0787b78381f3abb74a078bde05a6084bf0ed8d2c/third_party/WebKit/Source/core/exported/WebMemoryStatistics.cpp
[modify] https://crrev.com/0787b78381f3abb74a078bde05a6084bf0ed8d2c/third_party/WebKit/Source/platform/wtf/allocator/Partitions.cpp
[modify] https://crrev.com/0787b78381f3abb74a078bde05a6084bf0ed8d2c/third_party/WebKit/Source/platform/wtf/allocator/Partitions.h
[modify] https://crrev.com/0787b78381f3abb74a078bde05a6084bf0ed8d2c/tools/metrics/histograms/histograms.xml

Sign in to add a comment