[Webkit-unassigned] [Bug 172383] New: DFG::SpeculativeJIT::pickCanTrample() is wrongly ignoring result registers.
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Fri May 19 14:15:38 PDT 2017
https://bugs.webkit.org/show_bug.cgi?id=172383
Bug ID: 172383
Summary: DFG::SpeculativeJIT::pickCanTrample() is wrongly
ignoring result registers.
Product: WebKit
Version: WebKit Nightly Build
Hardware: Unspecified
OS: Unspecified
Status: NEW
Severity: Normal
Priority: P2
Component: JavaScriptCore
Assignee: webkit-unassigned at lists.webkit.org
Reporter: mark.lam at apple.com
pickCanTrample() is wrongly assuming that one of regT0 and regT1 is always available as a scratch register. This assumption is wrong if this canTrample register is used for a silentFill() after an operation that returns a result in regT0 or regT1.
Turns out the only reason we need the canTrample register is for SetDoubleConstant. We can remove the need for this canTrample register by introducing a moveDouble() pseudo instruction in the MacroAssembler to do the job using the scratchRegister() on X86_64 or the dataMemoryTempRegister() on ARM64. In so doing, we can simplify the silentFill() code and eliminate the bug.
<rdar://problem/31418651>
--
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-unassigned/attachments/20170519/c8ca1d39/attachment.html>
More information about the webkit-unassigned
mailing list