Bug 225321

Summary: Add Data Call ICs that don't repatch and use them in the baseline JIT
Product: WebKit Reporter: Saam Barati <saam>
Component: JavaScriptCoreAssignee: Saam Barati <saam>
Status: RESOLVED FIXED    
Severity: Normal CC: ews-watchlist, fpizlo, keith_miller, mark.lam, msaboff, sam, tzagallo, webkit-bug-importer, ysuzuki
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
See Also: https://bugs.webkit.org/show_bug.cgi?id=225793
Attachments:
Description Flags
WIP
none
WIP
none
WIP
none
WIP
none
WIP
none
WIP
none
WIP
ews-feeder: commit-queue-
WIP
ews-feeder: commit-queue-
patch
none
patch
none
patch
msaboff: review+, ews-feeder: commit-queue-
patch for landing none

Description Saam Barati 2021-05-03 12:00:32 PDT
...
Comment 1 Radar WebKit Bug Importer 2021-05-10 12:01:22 PDT
<rdar://problem/77773796>
Comment 2 Saam Barati 2021-05-11 17:05:02 PDT
Created attachment 428329 [details]
WIP
Comment 3 Saam Barati 2021-05-12 18:08:57 PDT
Created attachment 428441 [details]
WIP

Still need to implement 32-bit, but let's see how x86_64 does
Comment 4 Saam Barati 2021-05-12 18:14:36 PDT
Created attachment 428444 [details]
WIP
Comment 5 Saam Barati 2021-05-12 18:23:45 PDT
Created attachment 428445 [details]
WIP
Comment 6 Saam Barati 2021-05-13 10:21:13 PDT
Created attachment 428525 [details]
WIP
Comment 7 Saam Barati 2021-05-13 11:01:59 PDT
Created attachment 428533 [details]
WIP

rebased, the patch should apply to ToT now.
Comment 8 Saam Barati 2021-05-13 11:04:50 PDT
Created attachment 428535 [details]
WIP
Comment 9 Saam Barati 2021-05-13 12:05:43 PDT
Created attachment 428541 [details]
WIP
Comment 10 Saam Barati 2021-05-13 17:12:15 PDT
Created attachment 428581 [details]
patch
Comment 11 Saam Barati 2021-05-13 17:13:50 PDT
Created attachment 428582 [details]
patch
Comment 12 Saam Barati 2021-05-14 10:39:10 PDT
Comment on attachment 428582 [details]
patch

View in context: https://bugs.webkit.org/attachment.cgi?id=428582&action=review

> Source/JavaScriptCore/jit/JITCall32_64.cpp:306
> +    if (opcodeID == op_tail_call || opcodeID == op_tail_call_varargs || opcodeID == op_tail_call_forward_arguments)

lol, this should not be here...

I think this is the 32-bit crashes
Comment 13 Saam Barati 2021-05-14 10:42:26 PDT
Created attachment 428638 [details]
patch
Comment 14 Michael Saboff 2021-05-17 11:13:52 PDT
Comment on attachment 428638 [details]
patch

View in context: https://bugs.webkit.org/attachment.cgi?id=428638&action=review

r=me with one nit.

> Source/JavaScriptCore/ChangeLog:10
> +        pointer from CallLinkInfo, and indrect calling that pointer. This means that

nit -> indirect
Comment 15 Saam Barati 2021-05-17 13:34:34 PDT
Created attachment 428860 [details]
patch for landing
Comment 16 Saam Barati 2021-05-18 14:04:47 PDT
Getting help from Caio on Slack. He isn't able to reproduce the failure locally. Will land for now, and we'll fix testapi on armv7 if failures are caused.
Comment 17 EWS 2021-05-18 14:30:56 PDT
Committed r277680 (237881@main): <https://commits.webkit.org/237881@main>

All reviewed patches have been landed. Closing bug and clearing flags on attachment 428860 [details].