aboutsummaryrefslogtreecommitdiff
path: root/clang/unittests/Tooling/SourceCodeBuildersTest.cpp
diff options
context:
space:
mode:
authorSam Clegg <sbc@chromium.org>2020-12-09 18:14:31 -0800
committerSam Clegg <sbc@chromium.org>2020-12-10 17:07:39 -0800
commite52881a2870234f0dad6e338a0f084eddeaa9356 (patch)
tree745933b647a11e062765a409914938623b65ffe9 /clang/unittests/Tooling/SourceCodeBuildersTest.cpp
parenta3fe12dc58aa2a0dd7292d748b7c104225f863ba (diff)
downloadllvm-e52881a2870234f0dad6e338a0f084eddeaa9356.zip
llvm-e52881a2870234f0dad6e338a0f084eddeaa9356.tar.gz
llvm-e52881a2870234f0dad6e338a0f084eddeaa9356.tar.bz2
[lld][WebAssembly] Split __wasm_apply_relocs function in two
We have two types of relocations that we apply on startup: 1. Relocations that apply to wasm globals 2. Relocations that apply to wasm memory The first set of relocations use only the `__memory_base` import to update a set of internal globals. Because wasm globals are thread local these need to run on each thread. Memory relocations, like static constructors, must only be run once. To ensure global relocations run on all threads and because the only depend on the immutable `__memory_base` import we can run them during the WebAssembly start functions, instead of waiting until the post-instantiation __wasm_call_ctors. Differential Revision: https://reviews.llvm.org/D93066
Diffstat (limited to 'clang/unittests/Tooling/SourceCodeBuildersTest.cpp')
0 files changed, 0 insertions, 0 deletions