In current SpecializedThunkJIT::returnDouble of JSVALUE32_64 ports, moveDoubleToInts function from macro assembler is likely to be more efficient than the current generic implementation using the stack.
Created attachment 217946 [details] Use moveDoubleToInts in SpecializedThunkJIT::returnDouble for JSVALUE32_64 ports.
I suspect the point of the original code to avoid changing of src, which is returned by returnDouble(...). We might need to keep the original code path on x86.
(In reply to comment #2) > I suspect the point of the original code to avoid changing of src, which is returned by returnDouble(...). We might need to keep the original code path on x86. You're right, I didn't see that, thanks. I'm going to check all 32-bit architectures moveDoubleToInts then submit a new patch with #if CPU(xx) condition.
Created attachment 218068 [details] Use moveDoubleToInts in SpecializedThunkJIT::returnDouble for non-X86 JSVALUE32_64 ports.
Comment on attachment 218068 [details] Use moveDoubleToInts in SpecializedThunkJIT::returnDouble for non-X86 JSVALUE32_64 ports. nice patch. r=me
Comment on attachment 218068 [details] Use moveDoubleToInts in SpecializedThunkJIT::returnDouble for non-X86 JSVALUE32_64 ports. Clearing flags on attachment: 218068 Committed r159873: <http://trac.webkit.org/changeset/159873>
All reviewed patches have been landed. Closing bug.