commit | e7464ad22749d7ca92db1a4a23acad3ebd1f4dfa | [log] [tgz] |
---|---|---|
author | Michael Lippautz <mlippautz@chromium.org> | Tue Nov 20 21:18:18 2018 |
committer | Commit Bot <commit-bot@chromium.org> | Tue Nov 20 21:18:18 2018 |
tree | 677f2481dd8a3e266cee83595640294bb453c689 | |
parent | 38a06f637c42f6970d4efd359b9d91835ca001b7 [diff] |
heap: Avoid scheduling other garbage collections during unified heap tl;dr: Write barrier elimination in ctors requires white-allocation of objects. Longer: Avoid scheduling GC calls during object allocation (construction) as they would potentially invoke V8 marking steps. Such a marking step is problematic if the object that is currently being constructed has already been published as constructors rely on white-allocation of objects in order to avoid write barriers for initializing stores. A call to V8 may trigger a marking step which in turn may mark an object black if it already has been published. Bug: 903790, 843903 Change-Id: I9ede36f34f074f76b563601fd4bd1dcb30f561c4 Reviewed-on: https://chromium-review.googlesource.com/c/1341997 Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Reviewed-by: Kentaro Hara <haraken@chromium.org> Reviewed-by: Hannes Payer <hpayer@chromium.org> Cr-Commit-Position: refs/heads/master@{#609806}
Chromium is an open-source browser project that aims to build a safer, faster, and more stable way for all users to experience the web.
The project's web site is https://www.chromium.org.
Documentation in the source is rooted in docs/README.md.
Learn how to Get Around the Chromium Source Code Directory Structure .