Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(823)

Issue 1353283002: Oilpan: Schedule a conservative GC when page navigations are happening frequently (Closed)

Created:
5 years, 3 months ago by haraken
Modified:
5 years, 3 months ago
CC:
blink-reviews, oilpan-reviews, kouhei+heap_chromium.org, Mads Ager (chromium)
Target Ref:
refs/heads/master
Project:
blink
Visibility:
Public.

Description

Oilpan: Schedule a conservative GC when page navigations are happening frequently A frame retains a lot of memory in the V8 side. For example, one v8::Context retained by the frame has >200 KB. V8's GC cannot collect the memory until Oilpan's GC collects the frame. So this CL forces a conservative GC if no Oilpan's GC has been observed in the past 5 frame navigations. This CL improves the performance of iframe-append-child as follows: ToT without Oilpan: 177 runs/sec ToT with Oilpan: 142 runs/sec ToT + this CL with Oilpan: 168 runs/sec This CL also reduces V8's peak memory usage as follows: ToT without Oilpan: 34 MB ToT with Oilpan: 110 MB ToT + this CL with Oilpan: 50 MB (Note: iframe-append-child uses little memory in the Blink side. allocatedObjectSize + PartitionAlloc <= 4 MB.) BUG= Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=202568

Patch Set 1 #

Total comments: 2

Patch Set 2 : #

Unified diffs Side-by-side diffs Delta from patch set Stats (+13 lines, -0 lines) Patch
M Source/platform/heap/ThreadState.h View 1 chunk +1 line, -0 lines 0 comments Download
M Source/platform/heap/ThreadState.cpp View 1 3 chunks +12 lines, -0 lines 0 comments Download

Messages

Total messages: 14 (4 generated)
haraken
PTAL
5 years, 3 months ago (2015-09-19 05:57:16 UTC) #2
keishi
LGTM I think this makes sense. It's a type of emergency page navigation GC thats ...
5 years, 3 months ago (2015-09-19 06:12:15 UTC) #3
haraken
https://codereview.chromium.org/1353283002/diff/1/Source/platform/heap/ThreadState.cpp File Source/platform/heap/ThreadState.cpp (right): https://codereview.chromium.org/1353283002/diff/1/Source/platform/heap/ThreadState.cpp#newcode1411 Source/platform/heap/ThreadState.cpp:1411: m_pageNavigationCount = 0; On 2015/09/19 06:12:15, keishi wrote: > ...
5 years, 3 months ago (2015-09-19 08:17:14 UTC) #4
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1353283002/20001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1353283002/20001
5 years, 3 months ago (2015-09-19 08:17:31 UTC) #7
sof
lgtm to try.
5 years, 3 months ago (2015-09-19 08:21:23 UTC) #9
commit-bot: I haz the power
Committed patchset #2 (id:20001) as https://src.chromium.org/viewvc/blink?view=rev&revision=202568
5 years, 3 months ago (2015-09-19 10:04:49 UTC) #10
sof
This one causes a conservative GC for every 5th child frame being loaded. For a ...
5 years, 3 months ago (2015-09-21 07:15:00 UTC) #11
sof
On 2015/09/21 07:15:00, sof wrote: > This one causes a conservative GC for every 5th ...
5 years, 3 months ago (2015-09-21 07:43:50 UTC) #12
haraken
On 2015/09/21 07:43:50, sof wrote: > On 2015/09/21 07:15:00, sof wrote: > > This one ...
5 years, 3 months ago (2015-09-21 09:00:42 UTC) #13
Ken Russell (switch to Gerrit)
5 years, 3 months ago (2015-09-21 22:17:55 UTC) #14
Message was sent while issue was closed.
A revert of this CL (patchset #2 id:20001) has been created in
https://codereview.chromium.org/1351943004/ by kbr@chromium.org.

The reason for reverting is: I believe this caused random crashes in the WebGL
conformance tests on all platforms as described in http://crbug.com/534524 .
.

Powered by Google App Engine
This is Rietveld 408576698