In WebAssembly, a function starts with a number of local variable declarations, sometimes called a function header. These declarations are *not* instructions, but they are considered to be part of the function, meaning we can't just pretend like the function starts on the first instruction. Instead, we treat them like a prologue, albeit one that you cannot disassemble or set a breakpoint on. With this PR, we now correctly disassemble the function, matching the output of `objdump` and breakpoints resolve to the first instruction. Fixes #189960
57 KiB
57 KiB