Consider the function: function addActivationWithTry() { try { var someArgs = 'firstArg|secondArg|third', args = someArgs.split('|'), varNotUsedInClosure = 'This is some string', anotherNonClosureVar = [ 'A', 'B', 'C', 'D' ], lastNonClosureVar = { prop1: 22, prop2: 'Yo', prop3: someArgs + '|fourth' } pushFunction(function() { makeCall(args[0], args[1], args[2]); }); } catch (err) { } } When the activation for the closure used as an argument for "pushFunction()" is created and torn off, all of the locals from "addActivationWithTry()" will be captured even though only the array "args" needs to be captured.
Created attachment 138701 [details] Proposed Patch
Attachment 138701 [details] did not pass style-queue: Failed to run "['Tools/Scripts/check-webkit-style', '--diff-files', u'Source/JavaScriptCore/ChangeLog', u'Source..." exit_code: 1 Source/JavaScriptCore/runtime/JSActivation.h:95: Please declare integral type bitfields with either signed or unsigned. [runtime/bitfields] [5] Total errors found: 1 in 4 files If any of these errors are false positives, please file a bug against check-webkit-style.
Committed r115217: <http://trac.webkit.org/changeset/115217>