Bug 199541

Summary: switch(String) needs to check for exceptions when resolving the string
Product: WebKit Reporter: Michael Saboff <msaboff>
Component: JavaScriptCoreAssignee: Michael Saboff <msaboff>
Status: RESOLVED FIXED    
Severity: Normal CC: ews-watchlist, keith_miller, mark.lam, saam, tzagallo, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
Patch mark.lam: review+

Description Michael Saboff 2019-07-05 20:06:16 PDT
A String value for a switch statement may be an unresolved rope and could throw an exception during resolution.  Switch statement processing needs to handle the exception.
Comment 1 Michael Saboff 2019-07-05 20:06:33 PDT
<rdar://problem/52669115>
Comment 2 Michael Saboff 2019-07-05 20:12:17 PDT
Created attachment 373560 [details]
Patch
Comment 3 Mark Lam 2019-07-05 20:58:57 PDT
Comment on attachment 373560 [details]
Patch

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

r=me with throwScope declaration fix.

> Source/JavaScriptCore/dfg/DFGOperations.cpp:2478
>  

nit: can you remove this empty line?

> Source/JavaScriptCore/jit/JITOperations.cpp:2320
> +        auto throwScope = DECLARE_THROW_SCOPE(vm);

You should declare this at the top of the function at the earliest possible location.  This is the recommended best practice unless there's a really good reason not to.
Comment 4 Michael Saboff 2019-07-06 06:33:40 PDT
(In reply to Mark Lam from comment #3)
> Comment on attachment 373560 [details]
> Patch
> 
> View in context:
> https://bugs.webkit.org/attachment.cgi?id=373560&action=review
> 
> r=me with throwScope declaration fix.
> 
> > Source/JavaScriptCore/dfg/DFGOperations.cpp:2478
> >  
> 
> nit: can you remove this empty line?
> 
> > Source/JavaScriptCore/jit/JITOperations.cpp:2320
> > +        auto throwScope = DECLARE_THROW_SCOPE(vm);
> 
> You should declare this at the top of the function at the earliest possible
> location.  This is the recommended best practice unless there's a really
> good reason not to.

I made these changes.
Comment 5 Michael Saboff 2019-07-06 06:34:53 PDT
Committed r247194: <https://trac.webkit.org/changeset/247194>