• Clemens Backes's avatar
    [wasm] Fix data race in lazy compilation · 591db5d9
    Clemens Backes authored
    Instead of updating the detected features set directly, use the
    synchronized {OnCompilationStopped} method.
    In order to avoid this error in the future, the whole
    {detected_features()} getter is removed, as it returns a pointer which
    can only be accessed when holding the mutex anyway. Also, the refactored
    code was the only user of this dangerous method.
    
    Drive-by: Pass the WasmFeatures set by value, since it's just an
    EnumSet.
    Drive-by 2: Remove a print line from the regression test which can be
    confusing if the test is picked up again by foozzie.
    
    R=ahaas@chromium.org
    CC=zhin@chromium.org
    
    Bug: v8:11357
    Change-Id: I75b5c8f35983d2bc1fd2b61adcb2ecfc18564f39
    Cq-Include-Trybots: luci.v8.try:v8_linux64_tsan_isolates_rel_ng
    Cq-Include-Trybots: luci.v8.try:v8_linux64_tsan_rel_ng
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2653226Reviewed-by: 's avatarZhi An Ng <zhin@chromium.org>
    Reviewed-by: 's avatarAndreas Haas <ahaas@chromium.org>
    Commit-Queue: Clemens Backes <clemensb@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#72375}
    591db5d9
module-compiler.cc 137 KB