Chromium Code Reviews
DescriptionRemove 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 #Messages
Total messages: 21 (14 generated)
|