Bug 124936

Summary: moveDoubleToInts should be used in SpecializedThunkJIT::returnDouble
Product: WebKit Reporter: Julien Brianceau <jbriance>
Component: JavaScriptCoreAssignee: Nobody <webkit-unassigned>
Status: RESOLVED FIXED    
Severity: Normal CC: commit-queue, fpizlo, ggaren, mark.lam, msaboff, oliver, zherczeg
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
Use moveDoubleToInts in SpecializedThunkJIT::returnDouble for JSVALUE32_64 ports.
none
Use moveDoubleToInts in SpecializedThunkJIT::returnDouble for non-X86 JSVALUE32_64 ports. none

Description Julien Brianceau 2013-11-27 06:11:36 PST
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.
Comment 1 Julien Brianceau 2013-11-27 06:13:08 PST
Created attachment 217946 [details]
Use moveDoubleToInts in SpecializedThunkJIT::returnDouble for JSVALUE32_64 ports.
Comment 2 Zoltan Herczeg 2013-11-29 06:34:15 PST
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.
Comment 3 Julien Brianceau 2013-11-29 06:38:59 PST
(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.
Comment 4 Julien Brianceau 2013-11-29 08:24:44 PST
Created attachment 218068 [details]
Use moveDoubleToInts in SpecializedThunkJIT::returnDouble for non-X86 JSVALUE32_64 ports.
Comment 5 Zoltan Herczeg 2013-11-29 08:56:24 PST
Comment on attachment 218068 [details]
Use moveDoubleToInts in SpecializedThunkJIT::returnDouble for non-X86 JSVALUE32_64 ports.

nice patch. r=me
Comment 6 WebKit Commit Bot 2013-11-29 09:23:18 PST
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>
Comment 7 WebKit Commit Bot 2013-11-29 09:23:21 PST
All reviewed patches have been landed.  Closing bug.