Comments (3)
Two possible ways to add such a feature:
- As a pass-option for RemoveUnusedModuleElements pass.
- Add a flag to wasm-metadce.
In both cases the option would be something like "consider empty exports unused".
Which runtime is this, btw, that will safely ignore empty exports?
from binaryen.
I see, thanks for the info @orsinium !
With multiple VMs that could benefit here, this sounds very reasonable to add as an option.
Probably the first option I mentioned before (pass-option for RemoveUnusedModuleElements) is best. If someone has time to look into that but doesn't know where to start I can help out with guidance.
from binaryen.
Which runtime is this, btw, that will safely ignore empty exports?
I'm building my own Rust runtime on top of wasmi. Knowing that the guest does not implement certain functions lets me do host-side optimizations. Similar to how pico-8 changes the frame rate to 60 FPS if _UPDATE60 function is provided.
Another example is wasm-4. It expects start
and update
exports both of which may be omitted:
- https://github.com/aduros/wasm4/blob/main/runtimes/web/src/runtime.ts#L319-L322
- https://github.com/aduros/wasm4/blob/main/runtimes/web/src/runtime.ts#L334-L338
from binaryen.
Related Issues (20)
- Internal UTF / Python error in fuzzer HOT 10
- Fuzz bug: interpretation of `return_call` is not correct. HOT 16
- Error: failed to run main module when executing WebAssembly module processed with `wasm-opt --remove-memory` in wasm runtime HOT 2
- Emitting unreachable for unemittable String instructions can fail due to blocks HOT 2
- Fuzz bug with atomic wait HOT 1
- wasm-opt -O2 seg faults on large binary with many nested if-then-else instructions HOT 1
- [Question]: Why we need check lastDebuglocation == loc in writeDebugLocation HOT 9
- Output structured data format based on wasm-delegations.def HOT 1
- [Question] How to do type evaluation in Binaryen? HOT 1
- Asyncify: warn/error when functions match both ADD and REMOVE
- How to traverse memory segments and get their data?
- WATParser bug when parse implicit type definition HOT 1
- Run (basic) StackIR optimizations in all binary writes? HOT 2
- wasm-split: WasmBinaryWriter::getDataSegmentIndex assertion related to DataDrop HOT 1
- What are the road blocks to using wasm-split multiple times? HOT 5
- Dynamic loading of custom passes in wasm-opt HOT 1
- CFGWalker with Single-thread failed HOT 4
- Unsubtyping fuzz bug HOT 1
- [Question] Multi-value Return using Tuple HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from binaryen.