aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp
diff options
context:
space:
mode:
authorLang Hames <lhames@gmail.com>2022-11-11 13:34:29 -0800
committerLang Hames <lhames@gmail.com>2022-11-11 16:01:25 -0800
commite7707464a3f7bf0c6011809d80d0a6e525be184b (patch)
tree921652138cd0b4bd2bd1f7c8b5a42afab52cfbf4 /llvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp
parent5f479ee7fc7a3a311cd62642de655c08321af981 (diff)
downloadllvm-e7707464a3f7bf0c6011809d80d0a6e525be184b.zip
llvm-e7707464a3f7bf0c6011809d80d0a6e525be184b.tar.gz
llvm-e7707464a3f7bf0c6011809d80d0a6e525be184b.tar.bz2
[ORC-RT][MachO] Unlock JDStatesMutex during push-initializers to avoid deadlock.
During __orc_rt_macho_jit_dlopen the ORC runtime will make a request to the JIT to push any new initializers. Since this call may add new JD-state to the runtime (and is expected to in general) we need to unlock the JDStatesMutex during this operation (and similarly when running initializers and atexits, as these may call trigger push-initializers recursively). No testcase yet: I haven't been able to reproduce the deadlock when running llvm-jitlink in in-process mode, and we don't support out-of-process mode in regression tests yet.
Diffstat (limited to 'llvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp')
0 files changed, 0 insertions, 0 deletions