[webkit-reviews] review denied: [Bug 94779] To reduce cost of converting type during modulo for integers : [Attachment 160089] Patch
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Thu Aug 23 18:43:51 PDT 2012
Filip Pizlo <fpizlo at apple.com> has denied hojong.han at samsung.com's request for
review:
Bug 94779: To reduce cost of converting type during modulo for integers
https://bugs.webkit.org/show_bug.cgi?id=94779
Attachment 160089: Patch
https://bugs.webkit.org/attachment.cgi?id=160089&action=review
------- Additional Comments from Filip Pizlo <fpizlo at apple.com>
View in context: https://bugs.webkit.org/attachment.cgi?id=160089&action=review
This patch will cause a regression on
fast/js/integer-division-neg2tothe32-by-neg1.html. Did you run that test?
Please make sure your code covers all of the corner cases where integer
division fails, rather than just the obvious one (zero denominator).
> Source/JavaScriptCore/dfg/DFGSpeculativeJIT.cpp:2539
> + JITCompiler::Jump checkZero = m_jit.branch32(JITCompiler::Equal, op2GPR,
TrustedImm32(0));
Why are you doing it this way? Why not m_jit.branchTest32(JITCompiler::Zero,
op2GPR)?
>> Source/JavaScriptCore/dfg/DFGSpeculativeJIT.cpp:2545
>> + speculationCheck(Overflow, JSValueRegs(), NoNode, checkZero);
>
> Did you verify what happens in the recovery path when this speculation fails?
This is completely wrong. Why are you emitting a speculationCheck *after* the
call? The speculationCheck() should be exactly where the branch is. Please
hoist this up to the checkZero, above.
More information about the webkit-reviews
mailing list