Bug 121916

Summary: Get rid of 2 unused parameters from ctiTrampoline function in baseline JIT.
Product: WebKit Reporter: Julien Brianceau <jbriance>
Component: JavaScriptCoreAssignee: Nobody <webkit-unassigned>
Status: RESOLVED WONTFIX    
Severity: Normal CC: buildbot, fpizlo, ggaren, kilvadyb, msaboff, oliver, ossy, rgabor, rniwa
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
Get rid of 2 unused parameters from ctiTrampoline function in baseline JIT.
webkit-ews: commit-queue-
Get rid of 2 unused parameters from ctiTrampoline function in baseline JIT (2nd try) none

Julien Brianceau
Reported 2013-09-25 10:30:13 PDT
Remove the 2 unused void* parameters from ctiTrampoline function in baseline JIT. With current implementation in baseline JIT, architectures using 4 argument registers (sh4 and mips for instance) are pushing 2 words on stack for each call to ctiTrampoline: the void* unused2 and the VM* parameters.
Attachments
Get rid of 2 unused parameters from ctiTrampoline function in baseline JIT. (4.17 KB, patch)
2013-09-25 10:42 PDT, Julien Brianceau
webkit-ews: commit-queue-
Get rid of 2 unused parameters from ctiTrampoline function in baseline JIT (2nd try) (5.57 KB, patch)
2013-09-25 12:05 PDT, Julien Brianceau
no flags
Julien Brianceau
Comment 1 2013-09-25 10:42:19 PDT
Created attachment 212600 [details] Get rid of 2 unused parameters from ctiTrampoline function in baseline JIT. I get 2.5% speed up on my (slow) sh4 platform with this patch, and this patch didn't break anything on my mips platform. As I don't have ready environments to test this patch properly on all other architectures (ARM, X86 & X86_64), please do not cq+ this patch right now.
Early Warning System Bot
Comment 2 2013-09-25 10:52:26 PDT
Comment on attachment 212600 [details] Get rid of 2 unused parameters from ctiTrampoline function in baseline JIT. Attachment 212600 [details] did not pass qt-ews (qt): Output: http://webkit-queues.appspot.com/results/2235171
Early Warning System Bot
Comment 3 2013-09-25 10:56:57 PDT
Comment on attachment 212600 [details] Get rid of 2 unused parameters from ctiTrampoline function in baseline JIT. Attachment 212600 [details] did not pass qt-wk2-ews (qt-wk2): Output: http://webkit-queues.appspot.com/results/2219005
Build Bot
Comment 4 2013-09-25 11:07:35 PDT
Comment on attachment 212600 [details] Get rid of 2 unused parameters from ctiTrampoline function in baseline JIT. Attachment 212600 [details] did not pass mac-wk2-ews (mac-wk2): Output: http://webkit-queues.appspot.com/results/2281045
Build Bot
Comment 5 2013-09-25 11:07:54 PDT
Comment on attachment 212600 [details] Get rid of 2 unused parameters from ctiTrampoline function in baseline JIT. Attachment 212600 [details] did not pass mac-ews (mac): Output: http://webkit-queues.appspot.com/results/2220004
Julien Brianceau
Comment 6 2013-09-25 11:58:15 PDT
Comment on attachment 212600 [details] Get rid of 2 unused parameters from ctiTrampoline function in baseline JIT. Oops, I forget to update savedRBX offset for X86_64
Julien Brianceau
Comment 7 2013-09-25 12:05:14 PDT
Created attachment 212611 [details] Get rid of 2 unused parameters from ctiTrampoline function in baseline JIT (2nd try) Should be better
Filip Pizlo
Comment 8 2013-09-25 12:16:32 PDT
I think those are reserved for DFG-style native calls. msaboff and I are about to make the baseline JIT use that calling convention also. So not only is this likely to break the DFG but it will get rolled out once we fix the baseline JIT. Or are you sure that arguments to functions that take more than 4 parameters are passed through some other set of slots?
Julien Brianceau
Comment 9 2013-09-25 12:39:55 PDT
(In reply to comment #8) > I think those are reserved for DFG-style native calls. msaboff and I are about to make the baseline JIT use that calling convention also. So not only is this likely to break the DFG but it will get rolled out once we fix the baseline JIT. Ok it'd better to wait your change in baseline JIT then.
Julien Brianceau
Comment 10 2013-11-09 09:02:42 PST
Closing bug, this change is no more relevant since r158751 (https://bugs.webkit.org/show_bug.cgi?id=123844)
Note You need to log in before you can comment on or make changes to this bug.