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

Issue 791043 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Dec 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux , Android , Windows , Chrome , Mac , Fuchsia
Pri: 3
Type: Feature

Blocked on:
issue 792105



Sign in to add a comment

Untangle restoring page iteration and sweeping

Project Member Reported by mlippautz@chromium.org, Dec 1 2017

Issue description

The tight couples results in implicit dependencies on the sweeper for the unmapper.

Untangling both tasks (iterability, sweeping) from each other allows making the dependencies explicit.
 
This is a follow up from  issue 771966 .
Project Member

Comment 2 by bugdroid1@chromium.org, Dec 4 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/2e4b4db0ab164c12c44f31aa3027c516fc26b993

commit 2e4b4db0ab164c12c44f31aa3027c516fc26b993
Author: Michael Lippautz <mlippautz@chromium.org>
Date: Mon Dec 04 11:39:31 2017

[heap] Untangle iterability from regular sweeping

Separates restoring iterability from sweeping a page. Since the set
of pages where iterability needs to be restored is small, it is
possible to wait and block for the task to finish if necessary.

A follow up change can now remove the fragile logic for delaying
unmapping of pages since it is guaranteed that no background task
keeps a reference to a page for restoring iterability.

Bug:  chromium:791043 
Change-Id: Ifba45594cc586df3c99e1bbb20a13b44c18dd9a1
Reviewed-on: https://chromium-review.googlesource.com/796419
Commit-Queue: Michael Lippautz <mlippautz@chromium.org>
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Cr-Commit-Position: refs/heads/master@{#49826}
[modify] https://crrev.com/2e4b4db0ab164c12c44f31aa3027c516fc26b993/src/heap/heap.cc
[modify] https://crrev.com/2e4b4db0ab164c12c44f31aa3027c516fc26b993/src/heap/mark-compact.cc
[modify] https://crrev.com/2e4b4db0ab164c12c44f31aa3027c516fc26b993/src/heap/spaces-inl.h
[modify] https://crrev.com/2e4b4db0ab164c12c44f31aa3027c516fc26b993/src/heap/spaces.cc
[modify] https://crrev.com/2e4b4db0ab164c12c44f31aa3027c516fc26b993/src/heap/spaces.h
[modify] https://crrev.com/2e4b4db0ab164c12c44f31aa3027c516fc26b993/src/heap/sweeper.cc
[modify] https://crrev.com/2e4b4db0ab164c12c44f31aa3027c516fc26b993/src/heap/sweeper.h

Project Member

Comment 3 by bugdroid1@chromium.org, Dec 5 2017

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

commit e5a1993bffe943f79fbc3a79d5c73376baecc2c9
Author: Michael Lippautz <mlippautz@chromium.org>
Date: Tue Dec 05 09:45:55 2017

[heap] Remove delayed chunks in Unmapper

The dependency between restoring iterability and the Scavenger is
explicit. Delayed chunks are thus not needed anymore.

Bug:  chromium:791043 
Change-Id: I9f2c95c1856f53299af2737f922a3cb4cc578aa5
Reviewed-on: https://chromium-review.googlesource.com/805816
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Commit-Queue: Michael Lippautz <mlippautz@chromium.org>
Cr-Commit-Position: refs/heads/master@{#49855}
[modify] https://crrev.com/e5a1993bffe943f79fbc3a79d5c73376baecc2c9/src/heap/gc-tracer.cc
[modify] https://crrev.com/e5a1993bffe943f79fbc3a79d5c73376baecc2c9/src/heap/heap.cc
[modify] https://crrev.com/e5a1993bffe943f79fbc3a79d5c73376baecc2c9/src/heap/mark-compact.cc
[modify] https://crrev.com/e5a1993bffe943f79fbc3a79d5c73376baecc2c9/src/heap/spaces.cc
[modify] https://crrev.com/e5a1993bffe943f79fbc3a79d5c73376baecc2c9/src/heap/spaces.h

Project Member

Comment 4 by bugdroid1@chromium.org, Dec 5 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/4d95c4b0c97eb689254a2a74c0cf1dd1acaba7f9

commit 4d95c4b0c97eb689254a2a74c0cf1dd1acaba7f9
Author: Michael Lippautz <mlippautz@chromium.org>
Date: Tue Dec 05 16:56:35 2017

[heap] Lower limit for maximum number of unmapper tasks

Bug:  chromium:791043 
Change-Id: Ica59510f9ee611d62bc65775977df7c7f99fb8ca
Reviewed-on: https://chromium-review.googlesource.com/807929
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Commit-Queue: Michael Lippautz <mlippautz@chromium.org>
Cr-Commit-Position: refs/heads/master@{#49876}
[modify] https://crrev.com/4d95c4b0c97eb689254a2a74c0cf1dd1acaba7f9/src/heap/spaces.h

Blockedon: 792105
Status: Fixed (was: Started)

Sign in to add a comment