Open Bug 1248593 Opened 10 years ago Updated 1 year ago

Add markers to dumped disassembly of individual asm.js functions

Categories

(Core :: JavaScript Engine, enhancement, P3)

enhancement

Tracking

()

REOPENED

People

(Reporter: jujjyl, Unassigned, NeedInfo)

References

(Blocks 1 open bug)

Details

Attachments

(1 file)

1.43 KB, application/javascript
Details
Attached file test.js
Currently it is possible to dump the disassembly of aot-compiled asm.js modules by building a debug build of SpiderMonkey (mozconfig: ac_add_options --enable-debug), and running IONFLAGS=codegen ./js --no-threads test.js where test.js contains an asm.js module (attached example). The dumped output will contain the disassembly in the format <some unrelated code> ... [Codegen] # Emitting asm.js code ... <relevant asm.js code of the module here> ... test.js:warning: Successfully compiled asm.js code (total compilation time 38ms; caching disabled by missing command-line arguments) [Codegen] # Emitting baseline code for script test.js:1 <more unrelated code> However, the generated disassembly does not have any cross-references/markers back to the original asm.js code. It would be powerful to have the following: a) dump out comments to delimit function names, so that the codegen for individual functions would stand out. b) interleave the generated native disassembly with the original asm.js code. This would allow understand which asm.js code fragments generate which piece of code. These would help when debugging or optimizing asm.js codegen, which are activities we presumaly will need to do more, with SIMD.js and WebAssembly gaining traction.
You get function names with IONFLAGS=scripts.
I take that back -- IONFLAGS=scripts does nothing for asm.js, which is too bad.
Per policy at https://wiki.mozilla.org/Bug_Triage/Projects/Bug_Handling/Bug_Husbandry#Inactive_Bugs. If this bug is not an enhancement request or a bug not present in a supported release of Firefox, then it may be reopened.
Status: NEW → RESOLVED
Closed: 7 years ago
Resolution: --- → INACTIVE
Status: RESOLVED → REOPENED
Resolution: INACTIVE → ---
Severity: normal → S3

I seem to recall that you looked into doing something similar to this Julian; is this resolved now (or at least for wasm?)

Flags: needinfo?(jseward)
Blocks: sm-meta
Severity: S3 → N/A
Priority: -- → P3
Blocks: sm-jits
No longer blocks: sm-meta
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: