Summary: | AirLowerAfterRegAlloc may incorrectly use a callee save that’s live as a scratch register | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Product: | WebKit | Reporter: | Saam Barati <saam> | ||||||||||||
Component: | JavaScriptCore | Assignee: | Saam Barati <saam> | ||||||||||||
Status: | RESOLVED FIXED | ||||||||||||||
Severity: | Normal | CC: | benjamin, buildbot, commit-queue, fpizlo, ggaren, gskachkov, jfbastien, keith_miller, mark.lam, msaboff, ticaiolima, webkit-bug-importer, ysuzuki | ||||||||||||
Priority: | P2 | Keywords: | InRadar | ||||||||||||
Version: | WebKit Nightly Build | ||||||||||||||
Hardware: | Unspecified | ||||||||||||||
OS: | Unspecified | ||||||||||||||
Attachments: |
|
Description
Saam Barati
2017-07-14 11:15:00 PDT
The bug looks to be in Air::lowerAfterRegAlloc. The IR is sound before this, but after this, this phase clobbers a register it shouldn't. Created attachment 315693 [details]
IR dump
look at defs of r19. It looks like lowering of ColdCCall introduced the bug.
Created attachment 315712 [details]
WIP
trying to write a test.
Created attachment 315810 [details]
patch
Attachment 315810 [details] did not pass style-queue:
ERROR: Source/JavaScriptCore/b3/testb3.cpp:15631: Extra space before ) [whitespace/parens] [2]
ERROR: Source/JavaScriptCore/b3/testb3.cpp:15631: Missing space inside { }. [whitespace/braces] [5]
ERROR: Source/JavaScriptCore/b3/testb3.cpp:15638: Consider using CHECK_EQ instead of CHECK(a == b) [readability/check] [2]
Total errors found: 3 in 4 files
If any of these errors are false positives, please file a bug against check-webkit-style.
Comment on attachment 315810 [details] patch View in context: https://bugs.webkit.org/attachment.cgi?id=315810&action=review > Source/JavaScriptCore/ChangeLog:3 > + AirLowerAfterRegAlloc may incorrectly use a callee save thatâs live as a scratch register non-ascii character. Created attachment 315839 [details]
patch for landing
Created attachment 315840 [details]
patch for landing
Comment on attachment 315840 [details] patch for landing Clearing flags on attachment: 315840 Committed r219633: <http://trac.webkit.org/changeset/219633> All reviewed patches have been landed. Closing bug. |