• Clemens Backes's avatar
    Fix data race in array sorting · 9c5623c7
    Clemens Backes authored
    For copying the SharedArrayBuffer content, we cannot use a simple
    {memcpy} because that produces data races with thread concurrently
    modifying the content. Instead, use a custom {Relaxed_Memcpy} that uses
    proper relaxed atomics. The implementation is slightly optimized to do
    word-sized loads and stores where possible. If we still get performance
    regressions, we can optimize it further in follow-up CLs.
    
    R=ulan@chromium.org
    CC=mlippautz@chromium.org
    
    Bug: v8:11704, chromium:1205290
    Change-Id: Ie34afc5c22ec5496c0fe822d55d4788031f06c54
    Cq-Include-Trybots: luci.v8.try:v8_linux64_tsan_rel_ng
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2874652
    Commit-Queue: Clemens Backes <clemensb@chromium.org>
    Reviewed-by: 's avatarUlan Degenbaev <ulan@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#74403}
    9c5623c7
Name
Last commit
Last update
..
DIR_METADATA Loading commit data...
OWNERS Loading commit data...
runtime-array.cc Loading commit data...
runtime-atomics.cc Loading commit data...
runtime-bigint.cc Loading commit data...
runtime-classes.cc Loading commit data...
runtime-collections.cc Loading commit data...
runtime-compiler.cc Loading commit data...
runtime-date.cc Loading commit data...
runtime-debug.cc Loading commit data...
runtime-forin.cc Loading commit data...
runtime-function.cc Loading commit data...
runtime-futex.cc Loading commit data...
runtime-generator.cc Loading commit data...
runtime-internal.cc Loading commit data...
runtime-intl.cc Loading commit data...
runtime-literals.cc Loading commit data...
runtime-module.cc Loading commit data...
runtime-numbers.cc Loading commit data...
runtime-object.cc Loading commit data...
runtime-operators.cc Loading commit data...
runtime-promise.cc Loading commit data...
runtime-proxy.cc Loading commit data...
runtime-regexp.cc Loading commit data...
runtime-scopes.cc Loading commit data...
runtime-strings.cc Loading commit data...
runtime-symbol.cc Loading commit data...
runtime-test-wasm.cc Loading commit data...
runtime-test.cc Loading commit data...
runtime-trace.cc Loading commit data...
runtime-typedarray.cc Loading commit data...
runtime-utils.h Loading commit data...
runtime-wasm.cc Loading commit data...
runtime-weak-refs.cc Loading commit data...
runtime.cc Loading commit data...
runtime.h Loading commit data...