[heap] Fix a data race in Scavenger.
Scavenger::PromoteObject and Scavenger::SemiSpaceCopyObject load and dereference the map of the object to compute the alignment. This is unsafe because the object can be already migrated by another thread and the map word can contain the forwarding address. This patch removes the map load and uses the provided map argument to compute the alignment. Bug: chromium:811278,chromium:807178 Change-Id: I7343344dc65ae26eefb2602c55dee87bb511bc72 Reviewed-on: https://chromium-review.googlesource.com/939172 Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#51592}
Showing
Please
register
or
sign in
to comment