• Clemens Backes's avatar
    [base] Avoid pthread_rwlock_t on Mac · 3a44f269
    Clemens Backes authored
    pthread_rwlock_t can deadlock on Mac if signals are sent to the process
    in the wrong moment. Since we use processes e.g. for sampling profiling
    (in both d8 and in Chrome), we hence cannot safely use pthread_rwlock_t
    on Mac. Instead, fall back to a non-shared pthread_mutex_t.
    
    Interestingly, this shows no measurable performance impact in Wasm
    compilation on my MBP.
    
    R=mlippautz@chromium.org
    
    Bug: v8:11399
    Change-Id: Ie8bfd5288bba8c4f3315ee4502b39b59d39c9bbd
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3060480Reviewed-by: 's avatarVictor Gomes <victorgomes@chromium.org>
    Commit-Queue: Clemens Backes <clemensb@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#76015}
    3a44f269
Name
Last commit
Last update
..
debug Loading commit data...
numbers Loading commit data...
platform Loading commit data...
sanitizer Loading commit data...
utils Loading commit data...
DEPS Loading commit data...
DIR_METADATA Loading commit data...
OWNERS Loading commit data...
address-region.h Loading commit data...
atomic-utils.h Loading commit data...
atomicops.h Loading commit data...
atomicops_internals_atomicword_compat.h Loading commit data...
base-export.h Loading commit data...
bit-field.h Loading commit data...
bits-iterator.h Loading commit data...
bits.cc Loading commit data...
bits.h Loading commit data...
bounded-page-allocator.cc Loading commit data...
bounded-page-allocator.h Loading commit data...
bounds.h Loading commit data...
build_config.h Loading commit data...
compiler-specific.h Loading commit data...
cpu.cc Loading commit data...
cpu.h Loading commit data...
division-by-constant.cc Loading commit data...
division-by-constant.h Loading commit data...
enum-set.h Loading commit data...
export-template.h Loading commit data...
file-utils.cc Loading commit data...
file-utils.h Loading commit data...
flags.h Loading commit data...
free_deleter.h Loading commit data...
functional.cc Loading commit data...
functional.h Loading commit data...
hashmap-entry.h Loading commit data...
hashmap.h Loading commit data...
ieee754.cc Loading commit data...
ieee754.h Loading commit data...
immediate-crash.h Loading commit data...
iterator.h Loading commit data...
lazy-instance.h Loading commit data...
logging.cc Loading commit data...
logging.h Loading commit data...
macros.h Loading commit data...
memory.h Loading commit data...
once.cc Loading commit data...
once.h Loading commit data...
optional.h Loading commit data...
overflowing-math.h Loading commit data...
page-allocator.cc Loading commit data...
page-allocator.h Loading commit data...
qnx-math.h Loading commit data...
region-allocator.cc Loading commit data...
region-allocator.h Loading commit data...
ring-buffer.h Loading commit data...
safe_conversions.h Loading commit data...
safe_conversions_arm_impl.h Loading commit data...
safe_conversions_impl.h Loading commit data...
small-vector.h Loading commit data...
strings.cc Loading commit data...
strings.h Loading commit data...
sys-info.cc Loading commit data...
sys-info.h Loading commit data...
template-utils.h Loading commit data...
threaded-list.h Loading commit data...
timezone-cache.h Loading commit data...
type-traits.h Loading commit data...
ubsan.cc Loading commit data...
v8-fallthrough.h Loading commit data...
vector.h Loading commit data...
vlq-base64.cc Loading commit data...
vlq-base64.h Loading commit data...
vlq.h Loading commit data...
win32-headers.h Loading commit data...