Expand wasmDis to work on wasm modules
Categories
(Core :: JavaScript: WebAssembly, enhancement, P3)
Tracking
()
Tracking | Status | |
---|---|---|
firefox88 | --- | fixed |
People
(Reporter: lth, Assigned: lth)
References
Details
Attachments
(1 file)
wasmDis run on a wasm module object should disassemble all functions in the module, with at least function boundaries marked. This doesn't look hard at all.
Assignee | ||
Comment 1•4 years ago
|
||
Extend the wasmDis testing function so that it can disassemble
entire wasm modules in addition to exported functions from wasm
instances, this makes it much more useful.
Assignee | ||
Comment 2•4 years ago
•
|
||
The current patch works and is useful and we could stop here, but there are a few things it would be useful to consider:
- if the function has a name, print the name with the disassembly, not just the function index
- if there is other information for the function, perhaps print that (TBD) (stretch goal to figure this out)
- it would be nice to be able to select a specific function index in the module to disassemble, this ties into a comment i left in the code about more interesting options for configuring disassembly
- it would be nice to be able to select to disassemble not just normal functions, but stubs and other types of code too, see ditto comment
- this is getting complicated enough that a couple of test cases would be useful
Updated•4 years ago
|
Updated•4 years ago
|
Comment 4•4 years ago
|
||
Backed out changeset d737bf8f1ca2 (Bug 1692462) for bustages in check_vanilla_allocations.py.
https://hg.mozilla.org/integration/autoland/rev/81c9382d6bc753a611c15c31f7a6be4640b6a409
Push with failures:
https://treeherder.mozilla.org/jobs?repo=autoland&revision=d737bf8f1ca2810d43181870a596c5e15744d9a8&selectedTaskRun=XxnAxOoMQVKJ1Qh-9Qmpdw.0
Failure log:
https://treeherder.mozilla.org/logviewer?job_id=331705377&repo=autoland&lineNumber=3098
Assignee | ||
Comment 5•4 years ago
|
||
The problem is that the use of std::function to capture the type of a lambda causes a (surprising, to me) introduction of a heap allocation. But using a pattern of a template to capture the unutterable type of the function + a move to ensure in-place construction, we avoid this.
Comment 7•4 years ago
|
||
bugherder |
Description
•