Bug 230298

Summary: [JSC] Optimize leaf object creation in JSON.parse
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, tzagallo, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
Patch
none
Patch keith_miller: review+

Description Yusuke Suzuki 2021-09-15 00:25:29 PDT
[JSC] Optimize leaf object creation in JSON.parse
Comment 1 Yusuke Suzuki 2021-09-15 00:25:50 PDT
Created attachment 438220 [details]
Patch
Comment 2 Yusuke Suzuki 2021-09-15 11:32:18 PDT
Created attachment 438266 [details]
Patch
Comment 3 Keith Miller 2021-09-15 12:05:34 PDT
Comment on attachment 438266 [details]
Patch

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

r=me

> Source/JavaScriptCore/runtime/LiteralParser.cpp:1413
> +            case TokRBracket:
> +                m_parseErrorMessage = "Unexpected token ']'"_s;
> +                return { };

It seems like a lot of the error messages are the same whenever we create an error message for that token. Should we just make a helper, `setErrorMessageForToken` that sets the m_parseErrorMessage when we error on a given token?
Comment 4 Yusuke Suzuki 2021-09-15 12:09:46 PDT
Comment on attachment 438266 [details]
Patch

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

>> Source/JavaScriptCore/runtime/LiteralParser.cpp:1413
>> +                return { };
> 
> It seems like a lot of the error messages are the same whenever we create an error message for that token. Should we just make a helper, `setErrorMessageForToken` that sets the m_parseErrorMessage when we error on a given token?

Sounds good! Changed.
Comment 5 Yusuke Suzuki 2021-09-15 13:17:15 PDT
Committed r282468 (241716@main): <https://commits.webkit.org/241716@main>
Comment 6 Radar WebKit Bug Importer 2021-09-15 13:18:22 PDT
<rdar://problem/83164908>