Bug 122863

Summary: [sh4] Some calls don't match sh4 ABI
Product: WebKit Reporter: Julien Brianceau <jbriance>
Component: JavaScriptCoreAssignee: Nobody <webkit-unassigned>
Status: RESOLVED FIXED    
Severity: Normal CC: commit-queue, yannick.poirier
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
Fix invalid calling convention for sh4 architecture + build fixes none

Description Julien Brianceau 2013-10-15 14:33:07 PDT
Yannick rightly pointed out to me that the SH4_32BIT_DUMMY_ARG padding value should not be used if a 32-bit value parameter comes after a 64-bit JSValue that couldn't be put half in r7 and half on stack.

To sum up the ABI, with a function like this:

    void func(int p1, long long p2, long long p3, int p4)

    p1 32-bit value will use 1st argument register r4
    p2 64-bit value will use 2nd and 3rd argument registers r5 and r6
    p3 64-bit value will be put on stack
    p4 32-bit value will use the remaining 4th argument register r7 (and not be put on stack after p3)
Comment 1 Julien Brianceau 2013-10-15 14:39:48 PDT
Created attachment 214300 [details]
Fix invalid calling convention for sh4 architecture + build fixes
Comment 2 WebKit Commit Bot 2013-10-15 15:22:14 PDT
Comment on attachment 214300 [details]
Fix invalid calling convention for sh4 architecture + build fixes

Clearing flags on attachment: 214300

Committed r157475: <http://trac.webkit.org/changeset/157475>
Comment 3 WebKit Commit Bot 2013-10-15 15:22:16 PDT
All reviewed patches have been landed.  Closing bug.