heap: Resolve data race when clearing values in hash table
When deleting an entry is a hash table which is garbage collected, the entry is zeroed out (so that stale values won't be traced). However, An entry might be deleted while it is being traced. To avoid a data race in such cases, during tracing garbage collected objects should be atomically set to zero size_t by size_t (if the size of the entry is not a multiple of sizeof(size_t), the remainder of entry can be zeroed using memset as it is guaranteed not to hold a pointer). Bug: 986235 Change-Id: Id1a6d2fd82fcc31a18caf13764a3488e57b23177 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1949466 Commit-Queue: Omer Katz <omerkatz@chromium.org> Reviewed-by:Anton Bikineev <bikineev@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Kentaro Hara <haraken@chromium.org> Cr-Commit-Position: refs/heads/master@{#722494}
Showing
Please register or sign in to comment