Bug 166623

Summary: WebAssembly: avoid pinning registers when no Memory is present
Product: WebKit Reporter: JF Bastien <jfbastien>
Component: JavaScriptCoreAssignee: Nobody <webkit-unassigned>
Status: RESOLVED CONFIGURATION CHANGED    
Severity: Normal CC: jfbastien, keith_miller, saam
Priority: P2    
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
Bug Depends on: 165282    
Bug Blocks: 161709    

JF Bastien
Reported 2016-12-30 12:05:11 PST
In bug #165282 I'm changing pinning so that we unconditionally pin registers for all Modules, even if we technically don't need to when no Memory is present. This makes it easier to implement the wasm -> wasm call thunks because the thunk needs to set up the callee's pinned registers and therefore necessarily clobbers the caller's values. The caller thinks these registers are callee-saved, but that's annoying to do because wasm -> wasm is a tail call. We could teach B3 that these calls clobber those registers.
Attachments
JF Bastien
Comment 1 2017-04-04 15:56:31 PDT
To clarify: this is for memory and size pinned registers, if any.
JF Bastien
Comment 2 2017-04-14 16:22:45 PDT
Keith says this is done.
Note You need to log in before you can comment on or make changes to this bug.