RESOLVED FIXED 72201
Fix silent spilling/filling GPRs in DFG 32_64
https://bugs.webkit.org/show_bug.cgi?id=72201
Summary Fix silent spilling/filling GPRs in DFG 32_64
Yuqiang Xian
Reported 2011-11-11 18:52:12 PST
Current silentSpillGPR/silentFillGPR may not work as expected for some cases in 32_64. If there's a JSValue which was retained by two GPRs, we may end up failing to spill/fill some GPRs or redundantly spilling/filling some GPRs. For example, if we tend to exclude "eax" from spilling while a JSValue is retained by both "eax" and "edx", then "edx" won't be spilled as well (wrong). And if another JSValue is retained by "ecx" and "ebx", both "ecx" and "ebx" will be spilled twice. The similar problem applies to silentFillGPR. The fix is to make silentSpillGPR/silentFillGPR more straightforward, i.e., spilling/filling based on the GPR instead of the virtual register. FPR spilling/filling is also modified accordingly to make it consistent with GPR spilling/filling.
Attachments
the patch (16.15 KB, patch)
2011-11-11 18:57 PST, Yuqiang Xian
no flags
Yuqiang Xian
Comment 1 2011-11-11 18:57:50 PST
Created attachment 114812 [details] the patch
WebKit Review Bot
Comment 2 2011-11-13 14:44:33 PST
Comment on attachment 114812 [details] the patch Clearing flags on attachment: 114812 Committed r100095: <http://trac.webkit.org/changeset/100095>
WebKit Review Bot
Comment 3 2011-11-13 14:44:37 PST
All reviewed patches have been landed. Closing bug.
Note You need to log in before you can comment on or make changes to this bug.