Bug 163990

Summary: Add ThrowScope::release() calls at all call sites of jsMakeNontrivialString().
Product: WebKit Reporter: Mark Lam <mark.lam>
Component: JavaScriptCoreAssignee: Mark Lam <mark.lam>
Status: RESOLVED FIXED    
Severity: Normal CC: commit-queue, darin, keith_miller, msaboff, saam
Priority: P2    
Version: WebKit Local Build   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
proposed patch. ggaren: review+

Description Mark Lam 2016-10-25 15:17:04 PDT
Patch coming.
Comment 1 Mark Lam 2016-10-25 15:27:44 PDT
Created attachment 292834 [details]
proposed patch.
Comment 2 Geoffrey Garen 2016-10-25 15:29:36 PDT
Comment on attachment 292834 [details]
proposed patch.

r=me
Comment 3 Mark Lam 2016-10-25 15:33:39 PDT
Thanks for the review.  Landed in r207851: <http://trac.webkit.org/r207851>.
Comment 4 Darin Adler 2016-10-25 15:39:34 PDT
What’s the rule here? How can I be sure not to get this wrong in the future? Is the rule written down somewhere?
Comment 5 Mark Lam 2016-10-25 15:45:12 PDT
(In reply to comment #4)
> What’s the rule here? How can I be sure not to get this wrong in the future?
> Is the rule written down somewhere?

See the ChangeLog of r205569 for details on how the ExceptionScopes (ThrowScope and CatchScope) works: https://trac.webkit.org/changeset/205569/trunk/Source/JavaScriptCore/ChangeLog.

We're gradually converting the code base to do the right thing.  Once we've reach convergence, we'll turn on EXCEPTION_SCOPE_VERIFICATION on Debug builds.  That should help us catch places where we're not doing the right thing.
Comment 6 Darin Adler 2016-10-25 15:57:23 PDT
Lets put a copy of that somewhere else. We are going to have to follow these rules for years.