New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 726335 link

Starred by 3 users

Issue metadata

Status: Fixed
Owner:
Email to this user bounced
Closed: May 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: All
Pri: 3
Type: Bug



Sign in to add a comment

Enable heap compaction of non-inlined vector arenas

Reported by sigbjo...@opera.com, May 25 2017

Issue description

The Oilpan heap compaction ( issue 672030 ) code is not currently compacting vector arenas; we should fix the bug blocking that from happening & compact those arenas also.
 

Comment 1 by sigbjo...@opera.com, May 25 2017

Cc: m...@shmarya.net

Comment 2 by w...@chromium.org, May 25 2017

Is there a straightforward layout-test-ish thing we could use to verify that heap compaction is working as intended for all the affected arenas?  Or perhaps a unit-test would be easier?

Comment 3 by sigbjo...@opera.com, May 25 2017

There already is (HeapCompactTest), but as the feature isn't observable / controllable, we rely on verifying functional behavior staying the same across those compaction runs rather than try to guess&observe if a object moved or not (and somehow test for that.)
Project Member

Comment 4 by bugdroid1@chromium.org, May 26 2017

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

commit ec3056b0028de68485f6e5c4b6d57f225d334605
Author: sigbjornf <sigbjornf@opera.com>
Date: Fri May 26 08:24:26 2017

Enable heap compaction on all 'container' arenas.

Reconcile indexing for compactable arenas to always be wrt
the arena index -- it was miscued on setting, using an
offset instead, thereby preventing vector[1-4] arenas from
being considered for compaction.

R=haraken
BUG= 726335 

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

[modify] https://crrev.com/ec3056b0028de68485f6e5c4b6d57f225d334605/third_party/WebKit/Source/platform/heap/HeapCompact.cpp
[modify] https://crrev.com/ec3056b0028de68485f6e5c4b6d57f225d334605/third_party/WebKit/Source/platform/heap/HeapCompact.h
[modify] https://crrev.com/ec3056b0028de68485f6e5c4b6d57f225d334605/third_party/WebKit/Source/platform/heap/HeapCompactTest.cpp
[modify] https://crrev.com/ec3056b0028de68485f6e5c4b6d57f225d334605/third_party/WebKit/Source/platform/heap/HeapPage.cpp

Comment 5 by sigbjo...@opera.com, May 26 2017

Status: Fixed (was: Started)
I'd expect some improvements to renderer process sizes, so something to perhaps check status of once rolled out.

Thanks again for reporting this.

Sign in to add a comment