Bug 166623 - WebAssembly: avoid pinning registers when no Memory is present
Summary: WebAssembly: avoid pinning registers when no Memory is present
Alias: None
Product: WebKit
Classification: Unclassified
Component: JavaScriptCore (show other bugs)
Version: WebKit Nightly Build
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Nobody
Depends on: 165282
Blocks: 161709
  Show dependency treegraph
Reported: 2016-12-30 12:05 PST by JF Bastien
Modified: 2017-04-14 16:22 PDT (History)
3 users (show)

See Also:


Note You need to log in before you can comment on or make changes to this bug.
Description JF Bastien 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.
Comment 1 JF Bastien 2017-04-04 15:56:31 PDT
To clarify: this is for memory and size pinned registers, if any.
Comment 2 JF Bastien 2017-04-14 16:22:45 PDT
Keith says this is done.