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

Issue 2684633004: Remove orphaned pages from Oilpan (Closed)

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

Description

Remove orphaned pages from Oilpan Now that we have shipped the per-thread heap, orphaned pages are not needed. orphaned pages was needed because 1) a thread termination GC traces only objects in the thread's heap and 2) there are cross-thread Member pointers. This means that after finishing the thread termination GC, it's possible that some Member pointers are still pointing to the thread's heap. Thus we couldn't immediately release the thread's heap. Hence we had to mark the pages in the heap as orphaned until a next GC is triggered. In the per-thread heap world, cross-thread pointers must be CrossThreadPersistents. Also we have a logic to clear CrossThreadPersistents pointing to the terminating thread's heap before the thread terminates. This means that it's guaranteed that there is no cross-thread pointer pointing to the terminating thread's heap after the thread terminates. Then orphaned pages are not needed. BUG=671856 Review-Url: https://codereview.chromium.org/2684633004 Cr-Commit-Position: refs/heads/master@{#449225} Committed: https://chromium.googlesource.com/chromium/src/+/665243239207d7a0e1e73a4179c55f083c5493ca

Patch Set 1 #

Patch Set 2 : temp #

Total comments: 2

Patch Set 3 : temp #

Unified diffs Side-by-side diffs Delta from patch set Stats (+19 lines, -251 lines) Patch
M third_party/WebKit/Source/platform/heap/GCInfo.cpp View 1 2 1 chunk +0 lines, -2 lines 0 comments Download
M third_party/WebKit/Source/platform/heap/Heap.h View 1 2 3 chunks +0 lines, -3 lines 0 comments Download
M third_party/WebKit/Source/platform/heap/Heap.cpp View 1 2 9 chunks +1 line, -15 lines 0 comments Download
M third_party/WebKit/Source/platform/heap/HeapPage.h View 1 2 6 chunks +2 lines, -6 lines 0 comments Download
M third_party/WebKit/Source/platform/heap/HeapPage.cpp View 1 2 6 chunks +11 lines, -71 lines 0 comments Download
M third_party/WebKit/Source/platform/heap/PagePool.h View 2 chunks +0 lines, -25 lines 0 comments Download
M third_party/WebKit/Source/platform/heap/PagePool.cpp View 1 chunk +0 lines, -91 lines 0 comments Download
M third_party/WebKit/Source/platform/heap/PersistentNode.cpp View 1 chunk +0 lines, -4 lines 0 comments Download
M third_party/WebKit/Source/platform/heap/ThreadState.h View 1 2 1 chunk +1 line, -1 line 0 comments Download
M third_party/WebKit/Source/platform/heap/ThreadState.cpp View 1 2 4 chunks +4 lines, -16 lines 0 comments Download
M third_party/WebKit/Source/platform/heap/TraceTraits.h View 1 chunk +0 lines, -9 lines 0 comments Download
M third_party/WebKit/Source/platform/heap/VisitorImpl.h View 1 chunk +0 lines, -8 lines 0 comments Download

Messages

Total messages: 21 (14 generated)
haraken
PTAL
3 years, 10 months ago (2017-02-08 11:07:10 UTC) #3
sof
lgtm https://codereview.chromium.org/2684633004/diff/20001/third_party/WebKit/Source/platform/heap/PagePool.h File third_party/WebKit/Source/platform/heap/PagePool.h (right): https://codereview.chromium.org/2684633004/diff/20001/third_party/WebKit/Source/platform/heap/PagePool.h#newcode16 third_party/WebKit/Source/platform/heap/PagePool.h:16: template <typename DataType> we can drop the parameterization ...
3 years, 10 months ago (2017-02-08 11:58:08 UTC) #9
haraken
https://codereview.chromium.org/2684633004/diff/20001/third_party/WebKit/Source/platform/heap/PagePool.h File third_party/WebKit/Source/platform/heap/PagePool.h (right): https://codereview.chromium.org/2684633004/diff/20001/third_party/WebKit/Source/platform/heap/PagePool.h#newcode16 third_party/WebKit/Source/platform/heap/PagePool.h:16: template <typename DataType> On 2017/02/08 11:58:08, sof wrote: > ...
3 years, 10 months ago (2017-02-08 11:59:54 UTC) #10
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2684633004/20001
3 years, 10 months ago (2017-02-08 12:00:15 UTC) #13
commit-bot: I haz the power
Failed to apply patch for third_party/WebKit/Source/platform/heap/ThreadState.cpp: While running git apply --index -p1; error: patch failed: ...
3 years, 10 months ago (2017-02-08 13:38:59 UTC) #15
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2684633004/40001
3 years, 10 months ago (2017-02-09 01:33:26 UTC) #18
commit-bot: I haz the power
3 years, 10 months ago (2017-02-09 06:22:16 UTC) #21
Message was sent while issue was closed.
Committed patchset #3 (id:40001) as
https://chromium.googlesource.com/chromium/src/+/665243239207d7a0e1e73a4179c5...

Powered by Google App Engine
This is Rietveld 408576698