Bug 1639153 - Part 2: Preserve callee and caller tls'es. r=lth
commit72ef3e3d3847591765f4227bbfc2c8eca41402c9
authorDmitry Bezhetskov <dbezhetskov@igalia.com>
Sat, 31 Oct 2020 09:56:05 +0000 (31 09:56 +0000)
committerDmitry Bezhetskov <dbezhetskov@igalia.com>
Sat, 31 Oct 2020 09:56:05 +0000 (31 09:56 +0000)
treef726bdf6d576e6318d8f84304d5f90e91fbb7089
parent46c32eb00edbc634c13c44864e2105d7132a44ef
Bug 1639153 - Part 2: Preserve callee and caller tls'es. r=lth

This is a followup patch for removing Frame::tls.
Now, we are preserving caller's and callee's tls'es for all possible cross-instance calls in the previously allocated abi slots.
We also use preserved tls values to restore the caller's tls in Ion. Baseline doesn't need this because it restores the caller tls from its private stack slot after the call.

Depends on D82881

Differential Revision: https://phabricator.services.mozilla.com/D82888
js/src/jit/CodeGenerator.cpp
js/src/jit/MacroAssembler.cpp
js/src/jit/MacroAssembler.h
js/src/wasm/WasmTypes.h