• vogelheim's avatar
    Avoid data race when writing Shell::options.script_executed. · e045b78d
    vogelheim authored
    The race occurred when Workers were used. Since Workers call
    Shell::ExecuteString from a different thread, TSAN (correctly) flags
    this as a racy write. Solution would be to either synchronize the writes,
    or to 'lift' the write higher up in the call stack and only write the flag
    from the main thread. This implements this latter solution.
    
    These methods call Shell::ExecuteString, but do *not* set script_executed:
    - ExecuteInThread: Can only occur is JS has already been executed.
    - Shell::Load: Callback for JS; so JS has already been executed when
                   we get there.
    - Shell::RunShell: Interactive shell. We no longer need script_executed once
                       we're here.
    
    BUG=v8:4330
    LOG=N
    
    Review URL: https://codereview.chromium.org/1258303004
    
    Cr-Commit-Position: refs/heads/master@{#30003}
    e045b78d
Name
Last commit
Last update
benchmarks Loading commit data...
build Loading commit data...
include Loading commit data...
infra Loading commit data...
samples Loading commit data...
src Loading commit data...
test Loading commit data...
testing Loading commit data...
third_party/binutils Loading commit data...
tools Loading commit data...
.clang-format Loading commit data...
.gitignore Loading commit data...
.ycm_extra_conf.py Loading commit data...
AUTHORS Loading commit data...
BUILD.gn Loading commit data...
ChangeLog Loading commit data...
DEPS Loading commit data...
LICENSE Loading commit data...
LICENSE.strongtalk Loading commit data...
LICENSE.v8 Loading commit data...
LICENSE.valgrind Loading commit data...
Makefile Loading commit data...
Makefile.android Loading commit data...
Makefile.nacl Loading commit data...
OWNERS Loading commit data...
PRESUBMIT.py Loading commit data...
README.md Loading commit data...
WATCHLISTS Loading commit data...
codereview.settings Loading commit data...