Bug 187891

Summary: [JSC] GetByIdVariant and InByIdVariant do not need slot base if they are not "hit" variants
Product: WebKit Reporter: Yusuke Suzuki <ysuzuki>
Component: New BugsAssignee: Yusuke Suzuki <ysuzuki>
Status: RESOLVED FIXED    
Severity: Normal CC: ews-watchlist, keith_miller, mark.lam, msaboff, saam, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
Bug Depends on: 164904    
Bug Blocks:    
Attachments:
Description Flags
Patch
none
Patch saam: review+

Description Yusuke Suzuki 2018-07-22 11:02:25 PDT
[JSC] GetByIdVariant and InByIdVariant do not need slot base if they are not "hit" variants
Comment 1 Yusuke Suzuki 2018-07-22 11:02:35 PDT
Created attachment 345540 [details]
Patch

WIP: comments are welcome!
Comment 2 Saam Barati 2018-07-22 11:09:17 PDT
(In reply to Yusuke Suzuki from comment #0)
> [JSC] GetByIdVariant and InByIdVariant do not need slot base if they are not
> "hit" variants

Seems reasonable
Comment 3 Yusuke Suzuki 2018-07-22 11:12:51 PDT
I've ensured that this patch fixes performance regression in SixSpeed/destructuring-es6.
Previously, this bug makes some statuses "Slow", and emits "GetById" DFG node. And it breaks OAS.

                            baseline                  patched                                      

destructuring.es6      322.4751+-2.8517     ^     96.2486+-5.5259        ^ definitely 3.3504x faster

https://arewefastyet.com/#machine=29&view=single&suite=six-speed&subtest=destructuring-es6
Comment 4 Yusuke Suzuki 2018-07-22 12:17:38 PDT
Created attachment 345541 [details]
Patch
Comment 5 Yusuke Suzuki 2018-07-22 12:18:03 PDT
OK, the patch is ready.
Comment 6 Saam Barati 2018-07-22 12:23:18 PDT
Comment on attachment 345541 [details]
Patch

r=me
seems reasonable
Comment 7 Yusuke Suzuki 2018-07-22 12:24:39 PDT
Committed r234090: <https://trac.webkit.org/changeset/234090>
Comment 8 Radar WebKit Bug Importer 2018-07-22 12:25:17 PDT
<rdar://problem/42481622>