Open Bug 1530552 Opened 9 months ago Updated 9 months ago

register JIT code with Windows runtime on ARM64/x64


(Core :: JavaScript Engine: JIT, enhancement, P3)





(Reporter: luke, Unassigned)


(Depends on 1 open bug, Blocks 1 open bug)


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.

Blocks: 1530555

Setting P3 as bug 1426134 is a P3 and a large piece of work.

Priority: -- → P3
You need to log in before you can comment on or make changes to this bug.