[webkit-reviews] review granted: [Bug 73722] Improve float array support in the DFG JIT : [Attachment 117714] Patch

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Fri Dec 2 17:43:39 PST 2011


Gavin Barraclough <barraclough at apple.com> has granted Oliver Hunt
<oliver at apple.com>'s request for review:
Bug 73722: Improve float array support in the DFG JIT
https://bugs.webkit.org/show_bug.cgi?id=73722

Attachment 117714: Patch
https://bugs.webkit.org/attachment.cgi?id=117714&action=review

------- Additional Comments from Gavin Barraclough <barraclough at apple.com>
View in context: https://bugs.webkit.org/attachment.cgi?id=117714&action=review


r+ with ARMv7 bug & xor change.

> Source/JavaScriptCore/dfg/DFGNode.h:957
> +#if CPU(X86) || CPU(X86_64)

This should be ported to ARMv7.  Please file a bugzilla for this.

> Source/JavaScriptCore/dfg/DFGSpeculativeJIT.cpp:1678
> +	   MacroAssembler::Jump notNaN =
m_jit.branchDouble(MacroAssembler::DoubleEqual, fpr, fpr);

Maybe this should be functionality of the macro assembler, conversion of NaN
should probably not be undefined, conversion to 0 is likely most sensible. 
(though I think truncateDoubleFoo methods are currently used also used where we
expect the value to be an integer, so we might need to switch to having a
couple of more explicitly named versions of this functionality).

Please make a not in the ARMv7 bug to check whether this behavior is necessary
on ARM (what does NaN convert to on ARM)?

The xorPtr should probably just be m_jit.move(Imm32(0), gpr).  The macro
assembler should be free to implement this however it wishes (and on x86, yes,
you may want to make this an xor).

> Source/JavaScriptCore/dfg/DFGSpeculativeJIT.cpp:1751
> +	   notNaN.link(&m_jit);

Please verify the float conversion doesn't maintain the payload on x86, and
please make a note in the ARMv7 bug to also test this on ARM.


More information about the webkit-reviews mailing list