Bug 163172

Summary: B3 should know about mutable pinned registers
Product: WebKit Reporter: Filip Pizlo <fpizlo>
Component: JavaScriptCoreAssignee: Filip Pizlo <fpizlo>
Status: RESOLVED FIXED    
Severity: Normal CC: commit-queue, keith_miller, mark.lam, msaboff, saam
Priority: P2    
Version: WebKit Nightly Build   
Hardware: All   
OS: All   
Bug Depends on:    
Bug Blocks: 163171, 163173    
Attachments:
Description Flags
the patch keith_miller: review+

Filip Pizlo
Reported 2016-10-08 18:06:49 PDT
Super funny fact: if you add pinned registers and their values are designed to be changed (like WebAssembly memory base/size), then B3 needs to know about them so that it can do effects analysis of operations that clobber registers versus operations that read from them! Note that we wouldn't need this for read-only pinned registers. Then we could model them using ArgumentReg and just teach Air to not use them. Hence how this is about mutable pinned even though the functionality could be used to support immutable pinned, too.
Attachments
the patch (5.85 KB, patch)
2016-10-08 18:28 PDT, Filip Pizlo
keith_miller: review+
Filip Pizlo
Comment 1 2016-10-08 18:28:55 PDT
Created attachment 291033 [details] the patch
Keith Miller
Comment 2 2016-10-10 09:40:11 PDT
Comment on attachment 291033 [details] the patch r=me.
Filip Pizlo
Comment 3 2016-10-10 09:48:21 PDT
Note You need to log in before you can comment on or make changes to this bug.