If we preserve %fp (bug 1426134), it's apparently not too hard to create the Windows 64-bit runtime unwind data that allows RtlVirtualUnwind() to unwind through JIT frames. Apparently V8 switched to doing this recently.
There are a lot of advantages for making RtlVirtualUnwind Just Work on JIT code:
- Breakpad and the Gecko profiler will be able to reliably unwind through JIT frames to the C++ on the other side, giving us better stacks.
- The Gecko profiler could stop using JS::ProfilingFrameIterator altogether on Win64.
- Other Windows tools, like Xperf, Windows Performance Analyzer and the MSVC debugger, also won't get lost in JIT code
This would also enable further simplifications in the next bug.