commit | 12ea27e64fc74784c517bc88488503d064204143 | [log] [tgz] |
---|---|---|
author | Jeremy Roman <jbroman@chromium.org> | Thu Dec 06 14:43:24 2018 |
committer | Commit Bot <commit-bot@chromium.org> | Thu Dec 06 14:43:24 2018 |
tree | 3e0bfa3b5372eb0805708b1c80ab8d51103ddfda | |
parent | c7969a55cf2c0369dbcc3f409ee2cc5e84139d31 [diff] |
Refactor the "is incremental marking" counter into an "entry flag" class. 1. Switch to <atomic>, which is the future of atomics in Blink. 2. Since this logic is subtle, it is factored out into a separate class with a verbose comment, explaining why its semantics are correct. 3. Since the load didn't previously synchronize with the store, and the only requirement a thread has is that it sees its own writes (and the data doesn't become corrupt), std::memory_order_relaxed is used for all accesses. Bug: 736037 Change-Id: I017da1ebfba3e95e5d0393014dc57fb4958bd6b1 Reviewed-on: https://chromium-review.googlesource.com/c/1364151 Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Reviewed-by: Kentaro Hara <haraken@chromium.org> Commit-Queue: Jeremy Roman <jbroman@chromium.org> Cr-Commit-Position: refs/heads/master@{#614340}
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 .