Summary: | Air::handleCalleeSaves shouldn't save/restore the frame pointer | ||||||
---|---|---|---|---|---|---|---|
Product: | WebKit | Reporter: | Filip Pizlo <fpizlo> | ||||
Component: | JavaScriptCore | Assignee: | Filip Pizlo <fpizlo> | ||||
Status: | RESOLVED FIXED | ||||||
Severity: | Normal | ||||||
Priority: | P2 | ||||||
Version: | WebKit Nightly Build | ||||||
Hardware: | All | ||||||
OS: | All | ||||||
Bug Depends on: | |||||||
Bug Blocks: | 150279 | ||||||
Attachments: |
|
Description
Filip Pizlo
2015-10-29 13:01:26 PDT
Created attachment 264366 [details]
the patch
Comment on attachment 264366 [details]
the patch
r=me
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 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(). Landed in http://trac.webkit.org/changeset/191771 |