Bug 1639153 - Part 6.2: Establish dependency from tls for x86 callWithABI div/mod...
commit9575614e335a5c9778dc98e5f2c4500586ec88a1
authorDmitry Bezhetskov <dbezhetskov@igalia.com>
Fri, 11 Sep 2020 08:05:01 +0000 (11 08:05 +0000)
committerDmitry Bezhetskov <dbezhetskov@igalia.com>
Fri, 11 Sep 2020 08:05:01 +0000 (11 08:05 +0000)
tree5649ddb2a7317b9b76328d9be049e7aa7adb7274
parent3d9ea7d1790513c2e5d23cf032d68337f81e8ded
Bug 1639153 - Part 6.2: Establish dependency from tls for x86 callWithABI div/mod i64. r=lth

x86 has few register so to do div/mod for i64 it call the runtime
and clobber almost all gp registers including WasmTlsReg.
To be able to call c++ runtime via Builtin thunk we need to set up WasmTlsReg.
In this patch I create dependencies from MIR level to Codegen to be sure that WasmTlsReg is alive
when we call runtime.

Differential Revision: https://phabricator.services.mozilla.com/D88524
18 files changed:
js/src/jit/Lowering.cpp
js/src/jit/MIR.h
js/src/jit/arm/Lowering-arm.cpp
js/src/jit/arm/Lowering-arm.h
js/src/jit/arm64/Lowering-arm64.cpp
js/src/jit/arm64/Lowering-arm64.h
js/src/jit/mips32/Lowering-mips32.cpp
js/src/jit/mips32/Lowering-mips32.h
js/src/jit/mips64/Lowering-mips64.cpp
js/src/jit/mips64/Lowering-mips64.h
js/src/jit/none/Lowering-none.h
js/src/jit/x64/Lowering-x64.cpp
js/src/jit/x64/Lowering-x64.h
js/src/jit/x86/CodeGenerator-x86.cpp
js/src/jit/x86/LIR-x86.h
js/src/jit/x86/Lowering-x86.cpp
js/src/jit/x86/Lowering-x86.h
js/src/wasm/WasmIonCompile.cpp