Bug 220429

Summary: [JSC] New expression and value function call should reserve function register if arguments include assignments
Product: WebKit Reporter: Yusuke Suzuki <ysuzuki>
Component: New BugsAssignee: Yusuke Suzuki <ysuzuki>
Status: RESOLVED FIXED    
Severity: Normal CC: ashvayka, ews-watchlist, keith_miller, mark.lam, msaboff, nisl_grammarly1, saam, tzagallo, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
Patch
none
Patch
ashvayka: review+
Patch
none
Patch none

Description Yusuke Suzuki 2021-01-07 12:24:21 PST
[JSC] New expression and value function call should reserve function register if arguments include assignments
Comment 1 Yusuke Suzuki 2021-01-07 12:26:39 PST
Created attachment 417200 [details]
Patch
Comment 2 Yusuke Suzuki 2021-01-07 12:58:06 PST
Created attachment 417204 [details]
Patch
Comment 3 Yusuke Suzuki 2021-01-07 12:58:32 PST
<rdar://problem/70598359>
Comment 4 Alexey Shvayka 2021-01-07 13:14:59 PST
Comment on attachment 417204 [details]
Patch

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

This is handsome, nicely done!

> Source/JavaScriptCore/ChangeLog:17
> +            2. function value call (it is checking `isLocation()`, but we can still use local variables for function if we use comma expression)

Tagged template literals are already correct:

    x`_${x = 1}_`

Would be nice to have a test for it (if there is none).
Comment 5 Yusuke Suzuki 2021-01-07 13:23:04 PST
Comment on attachment 417204 [details]
Patch

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

I'll fix some of tests (the tests themselves are wrong).

>> Source/JavaScriptCore/ChangeLog:17
>> +            2. function value call (it is checking `isLocation()`, but we can still use local variables for function if we use comma expression)
> 
> Tagged template literals are already correct:
> 
>     x`_${x = 1}_`
> 
> Would be nice to have a test for it (if there is none).

Sounds good!
Comment 6 Yusuke Suzuki 2021-01-07 13:24:47 PST
Created attachment 417206 [details]
Patch
Comment 7 Yusuke Suzuki 2021-01-07 13:25:50 PST
Created attachment 417207 [details]
Patch
Comment 8 EWS 2021-01-07 15:17:49 PST
Committed r271265: <https://trac.webkit.org/changeset/271265>

All reviewed patches have been landed. Closing bug and clearing flags on attachment 417207 [details].
Comment 9 Yusuke Suzuki 2021-02-01 02:26:07 PST
*** Bug 217308 has been marked as a duplicate of this bug. ***