Bug 166442 - WebAssembly: custom IC for call_indirect
Summary: WebAssembly: custom IC for call_indirect
Status: NEW
Alias: None
Product: WebKit
Classification: Unclassified
Component: JavaScriptCore (show other bugs)
Version: WebKit Nightly Build
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: JF Bastien
URL:
Keywords:
Depends on: 165282
Blocks: 159775
  Show dependency treegraph
 
Reported: 2016-12-22 16:15 PST by JF Bastien
Modified: 2016-12-22 16:31 PST (History)
3 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description JF Bastien 2016-12-22 16:15:08 PST
call_indirect does a bunch of things when trying to figure out what it needs to call. This is required because it could be calling another Instance, so it needs to save / restore things from VM, and its pinned registers, and stuff. We think many call_indirect will just be internal calls stemming from C function pointers or C++ vtables, and will be the same across all Instances of a Module. In that circumstance, the dance is much simpler: single entry IC, check that the target is this value, and if so we know it's internal and no need to dance. Just Call. Gonna be OK.

Let's do it!

I'll leave a FIXME for this in B3 callIndirect codegen.