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

Issue 723513002: Oilpan: Refactor the way we calculate heap statistics (Closed)

Created:
6 years, 1 month ago by haraken
Modified:
6 years, 1 month ago
CC:
blink-reviews, Mads Ager (chromium), oilpan-reviews, blink-reviews-wtf_chromium.org, aandrey+blink_chromium.org, kouhei+heap_chromium.org, Mikhail
Project:
blink
Visibility:
Public.

Description

Oilpan: Refactor the way we calculate heap statistics This is a preparation for implementing incremental sweeping. - Remove ThreadState::HeapStats. - Introduce Heap::allocatedSpace, Heap::allocatedObjectSize and Heap::liveObjectSize. --- Heap::allocatedSpace keeps track of the size of allocated space. --- Heap::allocatedObjectSize keeps track of the size of objects allocated since the last GC. --- Heap::liveObjectSize keeps track of the size of marked objects in the last GC. - Adds a couple of atomic instructions to Atomics.h to update the Heap metrics atomically. - This CL fixes the issue that shouldGC() determines GC timing only based on the size of the current thread heap. After this CL, shouldGC() determines GC timing based on the entire heap. - Rename getStatsForTesting() to objectPayloadSizeForTesting(). Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=185513 Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=185569

Patch Set 1 #

Patch Set 2 : #

Patch Set 3 : #

Patch Set 4 : #

Total comments: 10

Patch Set 5 : #

Patch Set 6 : #

Patch Set 7 : #

Patch Set 8 : #

Patch Set 9 : #

Patch Set 10 : #

Patch Set 11 : #

Total comments: 8

Patch Set 12 : #

Patch Set 13 : #

Unified diffs Side-by-side diffs Delta from patch set Stats (+239 lines, -333 lines) Patch
M Source/platform/heap/Heap.h View 1 2 3 4 5 6 7 8 9 10 11 13 chunks +26 lines, -12 lines 0 comments Download
M Source/platform/heap/Heap.cpp View 1 2 3 4 5 6 7 8 9 10 11 23 chunks +50 lines, -50 lines 0 comments Download
M Source/platform/heap/HeapTest.cpp View 1 2 3 4 5 6 7 40 chunks +90 lines, -131 lines 0 comments Download
M Source/platform/heap/ThreadState.h View 1 6 chunks +7 lines, -71 lines 0 comments Download
M Source/platform/heap/ThreadState.cpp View 1 2 3 4 5 6 7 8 9 10 11 13 chunks +42 lines, -69 lines 0 comments Download
M Source/wtf/Atomics.h View 1 2 3 4 5 6 7 8 9 10 11 12 2 chunks +24 lines, -0 lines 0 comments Download

Messages

Total messages: 31 (6 generated)
haraken
This CL is not yet for review. Probably we should not move the HeapStats calculation ...
6 years, 1 month ago (2014-11-12 11:30:04 UTC) #2
haraken
OK, this CL is now ready for review. PTAL. This CL just refactors the way ...
6 years, 1 month ago (2014-11-14 06:05:23 UTC) #3
haraken
On 2014/11/14 06:05:23, haraken wrote: > OK, this CL is now ready for review. PTAL. ...
6 years, 1 month ago (2014-11-14 06:17:17 UTC) #4
haraken
On 2014/11/14 06:17:17, haraken wrote: > On 2014/11/14 06:05:23, haraken wrote: > > OK, this ...
6 years, 1 month ago (2014-11-14 06:52:00 UTC) #5
sof
https://codereview.chromium.org/723513002/diff/60001/Source/platform/heap/Heap.cpp File Source/platform/heap/Heap.cpp (left): https://codereview.chromium.org/723513002/diff/60001/Source/platform/heap/Heap.cpp#oldcode1389 Source/platform/heap/Heap.cpp:1389: stats->increaseAllocatedSpace(current->size()); Could you explain why we don't need to ...
6 years, 1 month ago (2014-11-14 12:44:20 UTC) #7
haraken
Thanks for review! https://codereview.chromium.org/723513002/diff/60001/Source/platform/heap/Heap.cpp File Source/platform/heap/Heap.cpp (left): https://codereview.chromium.org/723513002/diff/60001/Source/platform/heap/Heap.cpp#oldcode1389 Source/platform/heap/Heap.cpp:1389: stats->increaseAllocatedSpace(current->size()); On 2014/11/14 12:44:20, sof wrote: ...
6 years, 1 month ago (2014-11-14 15:15:00 UTC) #8
sof
lgtm https://codereview.chromium.org/723513002/diff/60001/Source/platform/heap/Heap.cpp File Source/platform/heap/Heap.cpp (left): https://codereview.chromium.org/723513002/diff/60001/Source/platform/heap/Heap.cpp#oldcode1389 Source/platform/heap/Heap.cpp:1389: stats->increaseAllocatedSpace(current->size()); On 2014/11/14 15:15:00, haraken wrote: > On ...
6 years, 1 month ago (2014-11-14 16:37:21 UTC) #9
haraken
tkent-san@: Would you take a look at wtf/ ? https://codereview.chromium.org/723513002/diff/60001/Source/platform/heap/Heap.h File Source/platform/heap/Heap.h (right): https://codereview.chromium.org/723513002/diff/60001/Source/platform/heap/Heap.h#newcode991 Source/platform/heap/Heap.h:991: ...
6 years, 1 month ago (2014-11-17 01:05:02 UTC) #11
tkent
On 2014/11/17 01:05:02, haraken wrote: > tkent-san@: Would you take a look at wtf/ ? ...
6 years, 1 month ago (2014-11-17 01:22:53 UTC) #12
haraken
On 2014/11/17 01:22:53, tkent wrote: > On 2014/11/17 01:05:02, haraken wrote: > > tkent-san@: Would ...
6 years, 1 month ago (2014-11-17 09:42:24 UTC) #13
tkent
> --- Heap::liveObjectSize keeps track of the size of marked objects in the last GC. ...
6 years, 1 month ago (2014-11-17 10:30:15 UTC) #14
haraken
Thanks for review. > nit: I feel |live| is confusing. markedObjectSize? Done. https://codereview.chromium.org/723513002/diff/200001/Source/platform/heap/ThreadState.cpp File Source/platform/heap/ThreadState.cpp ...
6 years, 1 month ago (2014-11-17 10:43:36 UTC) #15
tkent
lgtm. It's possible that this CL causes performance regression on some platforms. Please compare benchmark ...
6 years, 1 month ago (2014-11-17 10:51:58 UTC) #16
haraken
> It's possible that this CL causes performance regression on some platforms. > Please compare ...
6 years, 1 month ago (2014-11-17 10:58:20 UTC) #17
tkent
On 2014/11/17 10:58:20, haraken wrote: > > It's possible that this CL causes performance regression ...
6 years, 1 month ago (2014-11-17 11:00:56 UTC) #18
haraken
On 2014/11/17 11:00:56, tkent wrote: > On 2014/11/17 10:58:20, haraken wrote: > > > It's ...
6 years, 1 month ago (2014-11-17 11:07:10 UTC) #20
tkent
https://gcc.gnu.org/viewcvs/gcc/trunk/libgcc/config/arm/linux-atomic.c?revision=206295&view=markup Looks like ARM implementation needs a helper function provided by the kernel. I'm not ...
6 years, 1 month ago (2014-11-17 11:32:07 UTC) #21
haraken
On 2014/11/17 11:32:07, tkent wrote: > https://gcc.gnu.org/viewcvs/gcc/trunk/libgcc/config/arm/linux-atomic.c?revision=206295&view=markup > > Looks like ARM implementation needs a ...
6 years, 1 month ago (2014-11-17 11:33:24 UTC) #22
haraken
On 2014/11/17 11:33:24, haraken wrote: > On 2014/11/17 11:32:07, tkent wrote: > > > https://gcc.gnu.org/viewcvs/gcc/trunk/libgcc/config/arm/linux-atomic.c?revision=206295&view=markup ...
6 years, 1 month ago (2014-11-18 09:23:27 UTC) #23
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/723513002/220001
6 years, 1 month ago (2014-11-18 09:24:21 UTC) #25
commit-bot: I haz the power
Committed patchset #12 (id:220001) as https://src.chromium.org/viewvc/blink?view=rev&revision=185513
6 years, 1 month ago (2014-11-18 11:19:14 UTC) #26
Michael Achenbach
A revert of this CL (patchset #12 id:220001) has been created in https://codereview.chromium.org/738773003/ by machenbach@chromium.org. ...
6 years, 1 month ago (2014-11-18 11:48:16 UTC) #27
haraken
On 2014/11/18 11:48:16, Michael Achenbach wrote: > A revert of this CL (patchset #12 id:220001) ...
6 years, 1 month ago (2014-11-19 03:57:59 UTC) #28
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/723513002/240001
6 years, 1 month ago (2014-11-19 03:58:11 UTC) #30
commit-bot: I haz the power
6 years, 1 month ago (2014-11-19 04:22:58 UTC) #31
Message was sent while issue was closed.
Committed patchset #13 (id:240001) as
https://src.chromium.org/viewvc/blink?view=rev&revision=185569

Powered by Google App Engine
This is Rietveld 408576698