Closed Bug 1399624 Opened 7 years ago Closed 6 years ago

Baldr: share export stubs per signature, not per export

Categories

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

enhancement

Tracking

()

RESOLVED WONTFIX
Tracking Status
firefox57 --- affected

People

(Reporter: luke, Unassigned)

Details

Because all functions in an imported/exported Table are themselves exported, and since in many codes, most functions are in Tables, we can end up with a significant number of exported functions.  Since each export gets its own stub (which generates 100-200 bytes each), this can generate a lot of stub code. 

For example, in the Unity Tanks demo on webassembly.org/demo, 20,000 of 33,600 functions are exported and this generates about 3mb of stub code out of 39.4mb total (7.6%).

We could save most of this by using a single stub for all exports with a given signature, passing in a dynamic pointer for the callee.
Priority: -- → P3
Even though there could probably be further wins, I think bug 1422043 will provide 99% of the wins to be had here so I'll close this WONTFIX.
Status: NEW → RESOLVED
Closed: 6 years ago
Resolution: --- → WONTFIX
You need to log in before you can comment on or make changes to this bug.