Bug 162952
| Summary: | WebAssembly: support more than one size register | ||
|---|---|---|---|
| Product: | WebKit | Reporter: | Keith Miller <keith_miller> |
| Component: | JavaScriptCore | Assignee: | Nobody <webkit-unassigned> |
| Status: | NEW | ||
| Severity: | Normal | CC: | jfbastien, keith_miller, saam |
| Priority: | P2 | ||
| Version: | WebKit Nightly Build | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
| Bug Depends on: | 165282 | ||
| Bug Blocks: | |||
Keith Miller
...
| Attachments | ||
|---|---|---|
| Add attachment proposed patch, testcase, etc. |
JF Bastien
In bug #165282 I'm adding code which assumes that all WebAssembly.Instance have the same pinned registers. I'm doing this because wasm->wasm calls are generated at Module time, without knowing which import will be provided at Instance time.
We could instead generate one stub per type of outcall:
- wasm w/ fast memory -> wasm w/o memory
- wasm w/ fast memory -> wasm w/ slow memory
- wasm w/o memory -> wasm w/ fast memory
- wasm w/o memory -> wasm w/ slow memory
- wasm w/ slow memory -> wasm w/ fast memory
- wasm w/ slow memory -> wasm w/o memory
I'm not sure the complexity (and potential for bugs!) are worth it at this point in time.