Closed Bug 1460450 Opened 6 years ago Closed 2 years ago

Improve support for wasm in callstacks

Categories

(DevTools :: Performance Tools (Profiler/Timeline), enhancement, P2)

enhancement

Tracking

(Not tracked)

RESOLVED INVALID

People

(Reporter: luke, Unassigned)

References

(Blocks 1 open bug)

Details

With bug 1458029, the URL of wasm frames in profiler stacks now have two cases, both of which need a little fixing.  You can test both cases with this little utility:
  https://lukewagner.github.io/test-wasm-stacks/
Click one of the Compile buttons, start profiling, click "Run for a while", then check out the wasm frames in the profile callstack.

For compiled-from-ArrayBuffer cases (the first two Compile buttons), the URL now does what eval and new Function do for JS:
  http://url-of-caller.js > introducer
where 'introducer' is one of "WebAssembly.instantiate", "WebAssembly.instantiateStreaming", "WebAssembly.compile", "WebAssembly.compileStreaming", or "WebAssembly.Module".

This seems to break the current profiler string parsing, so I see "%20" and similar gunk in the profiler stacks.  Ideally this would do what is currently done for eval'd JS.

For the compiled-from-Response cases (the second two Compile buttons), the URL is now the URL that was fetch()ed.  This is great because now clicking on this link pulls up the .wasm file in the Debugger.  The only thing left is to interpret the line number as the bytecode offset.  It would also be nice, and conform to the wasm display conventions (https://webassembly.github.io/spec/web-api/index.html#conventions) if the "line" number was display in hex, prefixed with "0x".  I could update the actual profiler labels to do this, but I think that would even further break the parsing.
Thanks for the report!

> The only thing left is to interpret the line number as the bytecode offset.

I think this part belongs to the Debugger component.
Priority: -- → P2
Product: Firefox → DevTools
Whiteboard: [debugger-mvp]
Whiteboard: [debugger-mvp]
Severity: normal → S3

This report is related to the old DevTools Profiler.
The Performance panel now points to the new Firefox profiler available at profiler.firefox.com
Closing as Invalid bug

Status: NEW → RESOLVED
Closed: 2 years ago
Resolution: --- → INVALID

I think this is related to the new profiler actually. But I tried reproducing and I don't think I see the problem these days. Could you look on your side Luke please?

Flags: needinfo?(mail)

Looks good to me too, thanks!

Flags: needinfo?(mail)
You need to log in before you can comment on or make changes to this bug.