Bug 162952

Summary: WebAssembly: support more than one size register
Product: WebKit Reporter: Keith Miller <keith_miller>
Component: JavaScriptCoreAssignee: 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:    

Description Keith Miller 2016-10-04 18:23:56 PDT
...
Comment 1 JF Bastien 2016-12-29 23:32:47 PST
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.