Bug 180644

Summary: [JSC] Optimize Object.assign by single transition acceleration
Product: WebKit Reporter: Yusuke Suzuki <ysuzuki>
Component: New BugsAssignee: Yusuke Suzuki <ysuzuki>
Status: RESOLVED FIXED    
Severity: Normal CC: fpizlo, jfbastien, keith_miller, mark.lam, msaboff, saam, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
Bug Depends on:    
Bug Blocks: 185350    
Attachments:
Description Flags
Patch
none
Patch saam: review+

Description Yusuke Suzuki 2017-12-11 06:04:06 PST
[JSC] Optimize Object.assign by single transition acceleration and reify shortcut
Comment 1 Yusuke Suzuki 2017-12-11 06:07:05 PST
Created attachment 328962 [details]
Patch
Comment 2 Saam Barati 2017-12-11 11:34:07 PST
Comment on attachment 328962 [details]
Patch

I’m r- because I don’t want to add more code for this reification method table. I’ve already spoken to JF and other folks offline about removing this call from this code path. I think the right answer is to either:
- Call defineOwnProperty for static getter/setters on classes. We can probably keep calling putDirect when defining it on an object literal since plain objects don’t have lazy properties. 
- move this reification call into define_getter_setter_by_id
Comment 3 Yusuke Suzuki 2017-12-12 18:11:43 PST
(In reply to Saam Barati from comment #2)
> Comment on attachment 328962 [details]
> Patch
> 
> I’m r- because I don’t want to add more code for this reification method
> table. I’ve already spoken to JF and other folks offline about removing this
> call from this code path. I think the right answer is to either:
> - Call defineOwnProperty for static getter/setters on classes. We can
> probably keep calling putDirect when defining it on an object literal since
> plain objects don’t have lazy properties. 
> - move this reification call into define_getter_setter_by_id

Hm, ok, I'll drop this part from my patch. Yeah, this reification method is called in putDirect path, so everytime we put non-indexed property, this function is called. We should remove or alleviate this.
Comment 4 Yusuke Suzuki 2017-12-12 23:44:12 PST
Created attachment 329210 [details]
Patch
Comment 5 Yusuke Suzuki 2017-12-12 23:51:22 PST
Committed r225840: <https://trac.webkit.org/changeset/225840>
Comment 6 Radar WebKit Bug Importer 2017-12-12 23:52:15 PST
<rdar://problem/36015370>