Bug 150688 - Air::handleCalleeSaves shouldn't save/restore the frame pointer
Summary: Air::handleCalleeSaves shouldn't save/restore the frame pointer
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: JavaScriptCore (show other bugs)
Version: WebKit Nightly Build
Hardware: All All
: P2 Normal
Assignee: Filip Pizlo
URL:
Keywords:
Depends on:
Blocks: 150279
  Show dependency treegraph
 
Reported: 2015-10-29 13:01 PDT by Filip Pizlo
Modified: 2015-10-29 18:47 PDT (History)
0 users

See Also:


Attachments
the patch (1.31 KB, patch)
2015-10-29 16:55 PDT, Filip Pizlo
msaboff: review+
Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Filip Pizlo 2015-10-29 13:01:26 PDT
Patch forthcoming.
Comment 1 Filip Pizlo 2015-10-29 16:55:03 PDT
Created attachment 264366 [details]
the patch
Comment 2 Saam Barati 2015-10-29 17:27:31 PDT
Comment on attachment 264366 [details]
the patch

r=me
Comment 3 Michael Saboff 2015-10-29 17:31:40 PDT
Comment on attachment 264366 [details]
the patch

View in context: https://bugs.webkit.org/attachment.cgi?id=264366&action=review

r-

> Source/JavaScriptCore/b3/air/AirHandleCalleeSaves.cpp:55
>      usedCalleeSaves.filter(RegisterSet::calleeSaveRegisters());
> +    usedCalleeSaves.exclude(RegisterSet::stackRegisters()); // We don't need to save FP here.

RegisterSet::calleeSaveRegisters() already contains the frame pointer.  In all cases, it uses the native register name.
Comment 4 Michael Saboff 2015-10-29 17:33:38 PDT
Comment on attachment 264366 [details]
the patch

View in context: https://bugs.webkit.org/attachment.cgi?id=264366&action=review

r+

>> Source/JavaScriptCore/b3/air/AirHandleCalleeSaves.cpp:55
>>      usedCalleeSaves.filter(RegisterSet::calleeSaveRegisters());
>> +    usedCalleeSaves.exclude(RegisterSet::stackRegisters()); // We don't need to save FP here.
> 
> RegisterSet::calleeSaveRegisters() already contains the frame pointer.  In all cases, it uses the native register name.

Sorry, didn't see the .filter for RegisterSet::calleeSaveRegisters().
Comment 5 Filip Pizlo 2015-10-29 18:47:20 PDT
Landed in http://trac.webkit.org/changeset/191771