- 16 Oct, 2017 1 commit
-
-
Marja Hölttä authored
When skipping inner funcs is enabled, we also track variables for top level funcs. Thus, we also declared the function name for the function scope, even though it was the function scope for a function whose preparsing was aborted. This lead into declaring the function name twice. The fix is to declare the function name only in the success case. The code was "wrong" before too, but this was never a problem, since variable tracking and aborting preparsing were enabled for disjoint sets of functions (aborting preparsing only for top-level, and variable tracking for non-top-level). BUG=v8:5516,chromium:774475 Change-Id: Ie6c321cc834cd946e8843f73916fa7dd75e9cd09 Reviewed-on: https://chromium-review.googlesource.com/720920Reviewed-by: Toon Verwaest <verwaest@chromium.org> Commit-Queue: Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/master@{#48592}
-
- 03 Oct, 2016 1 commit
-
-
verwaest authored
Currently the parameter is first parsed as a reference, and then translated into a parameter. The reference stays around though, and gets resolved to the parameter. That automatically creates a use. Now that I drop all unresolved references when we abort preparsing, that also drops the unresolved reference. Instead, mark the variable as used when its marked as forced context allocation. That's what happens in almost all other cases. This raises the question: does it really make sense to parse parameters this ways? It seems pretty generic, but neither fast nor memory-efficient ... Did I misunderstand something? Just land if you think the CL looks good as is. BUG=chromium:651613 Review-Url: https://codereview.chromium.org/2386623002 Cr-Commit-Position: refs/heads/master@{#39935}
-
- 27 Sep, 2016 1 commit
-
-
verwaest authored
BUG= Review-Url: https://codereview.chromium.org/2372703004 Cr-Commit-Position: refs/heads/master@{#39769}
-