Bug 237863

Summary: [JSC] Use constants buffer in DFG
Product: WebKit Reporter: Yusuke Suzuki <ysuzuki>
Component: New BugsAssignee: Yusuke Suzuki <ysuzuki>
Status: RESOLVED FIXED    
Severity: Normal CC: aakash_jain, angelos, ews-watchlist, keith_miller, mark.lam, msaboff, saam, tzagallo, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
Patch
ews-feeder: commit-queue-
Patch
ews-feeder: commit-queue-
Patch
none
Patch
none
Patch
none
Patch
none
Patch
none
Patch
none
Patch none

Yusuke Suzuki
Reported 2022-03-14 18:48:38 PDT
[JSC] Use constants buffer in DFG
Attachments
Patch (242.27 KB, patch)
2022-03-14 18:49 PDT, Yusuke Suzuki
ews-feeder: commit-queue-
Patch (246.28 KB, patch)
2022-03-14 19:15 PDT, Yusuke Suzuki
ews-feeder: commit-queue-
Patch (246.34 KB, patch)
2022-03-14 19:25 PDT, Yusuke Suzuki
no flags
Patch (229.90 KB, patch)
2022-03-15 22:56 PDT, Yusuke Suzuki
no flags
Patch (259.25 KB, patch)
2022-03-17 16:51 PDT, Yusuke Suzuki
no flags
Patch (283.74 KB, patch)
2022-03-18 00:22 PDT, Yusuke Suzuki
no flags
Patch (287.45 KB, patch)
2022-03-18 01:31 PDT, Yusuke Suzuki
no flags
Patch (267.85 KB, patch)
2022-04-05 00:30 PDT, Yusuke Suzuki
no flags
Patch (274.69 KB, patch)
2022-04-11 16:36 PDT, Yusuke Suzuki
no flags
Yusuke Suzuki
Comment 1 2022-03-14 18:49:23 PDT
Yusuke Suzuki
Comment 2 2022-03-14 19:15:37 PDT
Yusuke Suzuki
Comment 3 2022-03-14 19:25:13 PDT
Yusuke Suzuki
Comment 4 2022-03-15 22:56:35 PDT
Yusuke Suzuki
Comment 5 2022-03-17 16:51:21 PDT
Yusuke Suzuki
Comment 6 2022-03-18 00:22:53 PDT
Yusuke Suzuki
Comment 7 2022-03-18 01:31:53 PDT
Radar WebKit Bug Importer
Comment 8 2022-03-21 18:49:17 PDT
Aakash Jain
Comment 9 2022-03-23 06:33:58 PDT
I cancelled jsc builds https://ews-build.webkit.org/#/builders/46/builds/21500 and https://ews-build.webkit.org/#/builders/45/builds/12635 There were various segmentation faults in https://ews-build.webkit.org/#/builders/45/builds/12635/steps/15/logs/stdio. Please have a look it's that's because of the patch or not.
Yusuke Suzuki
Comment 10 2022-04-05 00:30:45 PDT
Yusuke Suzuki
Comment 11 2022-04-11 16:36:16 PDT
Yusuke Suzuki
Comment 12 2022-04-11 17:12:57 PDT
Yusuke Suzuki
Comment 13 2022-04-12 20:02:45 PDT
EWS
Comment 14 2022-04-19 01:07:42 PDT
Committed r293009 (249748@main): <https://commits.webkit.org/249748@main> Reviewed commits have been landed. Closing PR #279 and removing active labels.
Yusuke Suzuki
Comment 15 2022-04-19 10:20:05 PDT
Yusuke Suzuki
Comment 16 2022-04-19 10:21:02 PDT
This is not directly related to uDFG, but it seems that TempRegisterSet, ScratchRegisterAllocator etc. is heavily relying on a wrong implementation of GPRInfo::numberOfRegisters. TempRegisterSet can only accept register which is considered as a temp register in GPRInfo. But this does not work if we remove constants-buffer register from DFG & GPRInfo while using it in FTL. But fundamental problem is that TempRegisterSet and ScratchRegisterAllocator are relying on GPRInfo::numberOfRegisters since it is DFG specific information (and if we use it in IC, which can be used in FTL too, then we hit this crash). In ARM64, it does not have a problem since constants buffer register is not included anyway in GPRInfo::numberOfRegisters even before that
Note You need to log in before you can comment on or make changes to this bug.