Stop on breakpoint inside a catch block. See a lot of garbage variables under "Catch" scope in Scope Variables display. For example "__defineGetter__", "toLocaleString" etc. There shouldn't be them there. Additional test case: var toString = "Test"; try { throw "Hello"; } catch (e) { e = toString; e = 2; } break on the line "e = 2" Debugger shows that the innermost scope (Catch) has variable named "toString" that has function value. This is incorrect, because variable "e" has different value ("Test"). This means that the previous assigment statement doesn't see fake "toString" variable of the Catch scope.
Created attachment 143471 [details] Patch
Comment on attachment 143471 [details] Patch Could you provide a test?
Created attachment 143533 [details] Patch
(In reply to comment #2) > (From update of attachment 143471 [details]) > Could you provide a test? Done.
Committed r118161: <http://trac.webkit.org/changeset/118161>