Jan de Mooij 3b71ecaee4 Bug 1910880 - Use a real JIT exit frame for Wasm JitEntry stub. r=rhunt
JS JIT callers can call Wasm code either directly from Ion or through the JitEntry stub.
In the JitEntry case, we didn't have a real JS JIT exit frame. To make JS frame iteration
still work in this case, a special `JSJitToWasm` frame type was used to transition from Wasm
frame iteration to JIT frame iteration.

Now that we can unwind Wasm and JS frames directly, this caused some issues because there
were places where we were expecting an actual JIT exit frame.

This patch changes the JitEntry stub to initialize a JIT exit frame. To do this, we just need
to store an `ExitFooterFrame` below the frame pointer. This is similar to what we were already
doing in `GenerateJitEntryThrow`.

This lets us remove the `JSJitToWasm` frame type and simplify frame iteration a bit.

Differential Revision: https://phabricator.services.mozilla.com/D218346
2024-08-02 07:14:08 +00:00
..